Skip to content
OpenMTP - Advanced Android File Transfer Application for macOS
Branch: master
Clone or download
Latest commit 6b8104c Jul 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE fixed #5 Jun 9, 2019
app fixed: #56 Jul 15, 2019
blobs/images updated the images in readme Jan 20, 2019
build fixed #4 Jun 9, 2019
config eslint support in progress Jan 13, 2019
docs-sources Version 2.0 Release!! Feb 1, 2019
internals/scripts Cleanups and optimizations Jan 26, 2019
webpack fixed: #52 Jul 14, 2019
.eslintignore eslint support in progress Jan 13, 2019
.eslintrc.js eslint no-console rules update Jan 20, 2019
.gitattributes first commit Oct 7, 2018
.gitignore Fixed the corrupted MTP CLI Binary Jun 9, 2019
.huskyrc husky config Jun 9, 2019
.prettierrc eslint support in progress Jan 13, 2019
.stylelintrc stylelint is complete Jan 13, 2019 fixed #5 Jun 9, 2019
LICENSE first commit Oct 7, 2018 fixed #5 Jun 9, 2019
babel.config.js electon babel target optimized Jan 15, 2019
package.json version bump to 2.2.2 Jul 15, 2019

OpenMTP | Android File Transfer for macOS


Advanced Android File Transfer Application for macOS.

Transferring files between macOS and Android or any other MTP devices has always been a nightmare. There are a few File Transfer MTP apps which are available online but most of them are either too expensive or come with bad UI/UX. The official "Android File Transfer" app for macOS from Google comes with bugs, innumerable limitations, some of which include - not being able to transfer files larger than 4GB, frequent disconnections, unable to rename the folders or files on the android/MTP devices. Most of the other apps available online uses either WiFi or ADB protocol to transfer the files, which is an extremely time-consuming process.

Countless searches to find an app to solve these problems and failing to find one made me restless. So, I took the leap and decided to create an app for us that could help us have a smooth and hassle-free file transfer process from macOS to Android/MTP devices. Created with the objective of giving back to the community, we can all use this app for free in this lifetime.


  • Plug and Play. No hassles, easy and instant connection.
  • Connect via USB cable - Highest data transfer rates.
  • Transfer multiple files which are larger than 4GB in one go.
  • Select between Internal Memory and SD Card.
  • Split pane views for both Local Computer and Android device.
  • Drag 'n Drop your files.
  • Choose between Grid and List view.
  • Use Keyboard Shortcuts to navigate through your files.
  • Safe, Transparent and Open-Source.
  • We don't collect any personally identifiable information.
  • It's FREE and shall ALWAYS remain FREE!!

Download App

Download the Latest Version

Find the latest dmg file from GitHub Releases


OpenMTP File Explorer

OpenMTP File Transfer

Keyboard Shortcuts

New Folder command+n

Copy command+c

Paste command+v

Delete backspace

Refresh command+r

Folder Up command+b

Select All command+a

Rename command+d

Open enter

Switch Tab command+1

Navigate Left left

Navigate Right right

Navigate Up up

Navigate Down down

Select Multiple Items Forward (for Grid view) shift+left

Select Multiple Items Backward (for Grid view) shift+right

Select Multiple Items Forward (for List view) shift+up

Select Multiple Items Backward (for List view) shift+down

Select Multiple Items (using mouse) command+click or shift+click

Building from Source

Requirements: Node.js v10, Git and Yarn package manager


$ git clone --depth 1 --single-branch --branch master

$ cd openmtp
$ yarn


A fresh clone might throw undefined state error. Run the following commands once to fix the issue.

# For Mac and Linux
$ UPGRADE_EXTENSIONS=1 npm run dev

# For Windows
$ set UPGRADE_EXTENSIONS=1 && npm run dev
# Development
$ yarn dev

# Pre-production
$ yarn start


Setup the code signing to build, package and publish the app.


$ export GH_TOKEN="<github token>"
# For local platform
$ yarn package

# For multiple platforms
$ yarn package-all

Technical Features

  • Built using Electron v4, React v16.4, Redux v4, Webpack v4, Babel v7 and Material UI v3.8
  • Hot module Reload (HMR) for instant feedback.
  • Highly modular.
  • Inbuilt error logging and profile/settings management.
  • Loadables, Dynamic Reducer Injection, Selectors for efficient Code. splitting and performance/startup optimisation.
  • Industry standard State management.
  • JSS, SASS/SCSS styling.
  • Port assigned: 4642


  • config/env/ and config/env/ contain the PORT number of the app.
  • config/dev-app-update.yml file holds the GitHub repo variables required by electron-updater.
  • config/google-analytics-key.js file contains the Google Analytics Tracking ID.
  • package.json build.publish object holds the values for publishing the packaged application.
  • app/constants folder contains all the constants required by the app.


# Debugging Guide

# Dispatching redux actions from the main process

# VM112:2 Uncaught TypeError: Cannot read property 'state' of undefined error

# For Mac and Linux
$ UPGRADE_EXTENSIONS=1 npm run dev

# For Windows
$ set UPGRADE_EXTENSIONS=1 && npm run dev

More repos

Accolades and Credits


If you are interested in fixing issues and contributing directly to the code base, please see the guidelines.

Buy me a coffee

Help me keep the app FREE and open for all. Paypal me:


Please feel free to contact me at


OpenMTP | Android File Transfer for macOS is released under MIT License.

Copyright © 2018-Present Ganesh Rathinavel

You can’t perform that action at this time.