Free · No cloud, no account

Mount an Android phone on your Mac. Browse it in Finder, like a USB drive.

No app to open, no files to copy first. Plug it in and it is simply there.

Install now How it works

v0.4.0 · 1 August 2026 · Apple Silicon · macOS 11+

Finder LOCATIONS Macintosh HD MyAndroid MyAndroid_SD_card Alarms Android DCIM Documents Download Movies Music Pictures 107 GB volume — 6.9 GB available
Plug the phone in and it shows up as an external volume — and its SD card as a second one — exactly as a USB flash drive would.
Why Ferry

Your phone, as a drive

A USB stick is storage your Mac can read. An Android phone isn't — it only answers requests, one file at a time. Every other tool works around that with a window you browse through: you copy each file to your Mac before you can open it, then copy it back when you're done.

Ferry makes it a real drive instead. Your apps open and save files on it directly, exactly as they would on a USB stick.

Seamless

It behaves as though you plugged in an external drive. Double-click and the file opens in whatever app you already use.

Play 4K video

Straight off the phone, no copying it over first. Skip to the middle and Ferry handles it.

Edit and save back

⌘S writes to the phone. No second copy to keep track of, no re-upload step.

Copy, move, drag both ways

Rename and delete too. Quick Look, tags and Get Info all behave normally.

SD card, separately

A memory card mounts as its own volume showing its own free space — not merged into one.

Scriptable

cp, rsync, find, grep — it is a mount point, so everything works.

Compare

How it differs

Compared on things you can check yourself.

Ferry OpenMTP Android File Transfer MacDroid Commander One
Cost Free Free Free Paid tier Paid tier
Mounts in Finder Yes In its window In its window Yes In its window
Speed Very fast Slow Slow Fast to slow Slow
Open in any app Directly Copy out first Copy out first Directly Copy out first
Starts by itself Plug in, it mounts Launch the app Launch the app Launch the app Launch the app
Terminal & scripts Yes No No Yes No
SD card Own volume In-app In-app Not stated In-app
Driver or reboot None None None System extension None
Wireless Yes No No Yes No
macOS needed 11+ 10.10+ Discontinued 11.5+ 10.13+

Because Ferry is a real mount point, anything that reads files works with it — rsync, cron, Time Machine exclusions, your editor. It needs no driver and no reboot to do that.

Why the speed differs: MTP, which the others use, asks the phone for one file at a time — slow directory listings and a wait before anything opens. Ferry uses ADB, and adds some very smart optimisations and caching on top of it.

Rows are taken from each project's own documentation in July 2026 — check theirs before deciding.

Setup

Two minutes, once

1

Install Ferry

Three lines in Terminal — see Installation. It brings adb along and starts Ferry at login from then on.

2

Turn on developer options — on the phone

Settings → About phone, then tap Build number seven times.

3

Turn on USB debugging

Settings → Developer options → USB debugging. This is how Ferry reads the phone; no app is installed on it.

4

Plug in and tap Allow

Unlock the phone and accept “Allow USB debugging?” — Android asking whether to trust this Mac. It appears in Finder within a second or two.

No cable? Set up wireless instead.

Requirements

What you need

MacApple Silicon only — M1 or later. Intel Macs are not supported.
macOS11 Big Sur or newer
PhoneAny Android with USB debugging. No need to install anything on your phone.
CableOne that carries data — many USB-C cables only charge. Not needed over Wi-Fi.
Installation

Two ways in

Homebrew is the one to pick unless you have a reason not to: it brings adb along and updates Ferry with everything else on your Mac.

With Homebrew Recommended

Three lines, then you are done:

Terminal
# Point Homebrew at Ferry's tap
brew tap ramanbanka/ferry

# Trust the tap — needed once per Mac
brew trust ramanbanka/ferry

# Installs dependencies, sets Ferry to start at login
brew install --cask ferry

Manually

Install Android Platform Tools (brew install --cask android-platform-tools), take the tarball from Releases, then:

Terminal
cd ~/Downloads
tar -xzf ferry-*-macos-arm64.tar.gz

# Put it where the shell can find it
sudo install -m 755 ferry-*-macos-arm64/ferry /usr/local/bin/ferry

# Clear the flag macOS puts on browser downloads —
# without this the binary is killed, not just warned about
xattr -d com.apple.quarantine /usr/local/bin/ferry || true

# Enable Ferry to start automatically at every login
ferry enable
Wireless

Leave the cable behind

Pair your phone once and it mounts over Wi-Fi whenever it is on the same network as your Mac. Needs Android 11 or newer.

On the phone

Three steps, and the first is the same one USB debugging needs:

1

Turn on developer options: Settings → About phone, then tap Build number seven times.

2

Settings → Developer options → Wireless debugging, and turn it on.

3

Tap the words Wireless debugging — not the switch — then Pair device with pairing code. A six-digit code appears; leave it showing.

On your Mac

While that code is still showing:

Terminal
ferry pair

Type the six digits if it asks. That is the whole setup — Ferry finds the phone by itself from then on.

Wi-Fi is up to 9x slower than a cable. Browsing and opening files stay close to normal; copying large files is where you feel it. Playing a higher-resolution video straight from the phone, or seeking into the middle of one, may buffer.

You do not have to choose, though: plug in and Ferry moves to the cable on its own, unplug and it goes back to Wi-Fi.

FAQ

Questions

Is Ferry really free?

Yes. No paid tier, no trial, and no feature held back. No account, no sign-up, and nothing to register — install it and it works.

Why isn't Ferry open source?

Ferry may be one day; it isn't yet. The binary is free to use either way. If that rules it out for you, OpenMTP is open source and worth a look.

Why do I need a custom tap and "brew trust"?

Because Ferry is not in Homebrew's own cask repository yet. Anything not in it has to be published as a tap — a third-party source you add yourself — which is what brew tap ramanbanka/ferry does. brew trust is then Homebrew asking whether you are happy for it to run that tap's install steps, which it needs to because installing Ferry registers a background agent rather than just copying a file into place. Both are once per Mac.

Getting into the main repository takes more than working software: Homebrew asks for a project to be at least 30 days old and to show public interest beyond its author. Ferry is newer than that, so the tap is where it lives for now — and once it is accepted, brew install --cask ferry will work on its own.

Is Ferry signed by Apple?

Not yet — that needs Apple's Developer ID, which costs $99 a year and I haven't justified it for a brand-new free tool. If Ferry gets traction I'll buy it and this friction goes away. Homebrew installs work because the cask clears the download flag for you; a browser download needs the xattr line above. Ferry never asks you to turn off Gatekeeper or SIP.

Does anything leave my Mac?

No. Ferry talks to the phone over the cable or your Wi-Fi and serves the files to Finder on your own machine — over Wi-Fi it goes between your phone and your Mac and nowhere else. No account, no cloud, and no telemetry in the app.

Don't take my word for it — you can watch Ferry's network activity yourself with Little Snitch or LuLu.

How is Ferry faster than the alternatives?

Two reasons. Most alternatives speak MTP, which asks the phone for one file at a time — that is why directory listings crawl and everything waits. Ferry uses ADB, a faster channel that Android's own developer tools run on.

Second, Ferry adds its own optimisations, caching and prediction, which multiply the speed ADB offers.

Ferry also does less: copy-based tools move a whole file before you can touch it, while Ferry serves the bytes an app actually asks for, so opening or seeking in a large file does not wait on the rest of it.

Will Ferry drain the battery or slow the phone?

Ferry reads and writes only when something asks for a file. Idle, Ferry does nothing but check whether the phone is still attached — and on a cable, the phone is charging while it does.

Over Wi-Fi there is no cable to charge from, so it does use some battery.

What if I unplug my phone mid-copy?

That transfer fails and Finder says so. Ferry unmounts the volume and waits; plug the phone back in and it returns on its own. Anything already written stays written.

How do I remove Ferry?

If you installed with Homebrew, run brew uninstall --cask ferry. It stops the agent and unmounts your phone before removing anything.

If you installed manually, run ferry disable first, then sudo rm /usr/local/bin/ferry.

Help

Troubleshooting

My phone does not appear in Finder

Unlock it and look for “Allow USB debugging?” — Android asking whether to trust this Mac. Over Wi-Fi, check the phone is awake and on the same network.

If the cable is in and nothing happens, try a different one: many USB-C cables carry power only.

It worked before, but not now

Run ferry status — it says whether Ferry can still see the phone. If it cannot, unplug and plug back in, or check the phone is unlocked.

One other cause worth knowing: another Android transfer app running at the same time can take the connection. Quit it and Ferry picks the phone up again.

A video stutters or buffers

Over Wi-Fi, the file needs more than the network is carrying. Plug the cable in and it keeps playing from where it was.

Is my phone connected, and over what?

ferry status lists every volume that is mounted and says whether each is served over USB or Wi-Fi, along with the phones Ferry can currently see.

Something looks stuck

ferry log follows what Ferry is doing as it happens, the same way tail -f would. It says when a phone was noticed, mounted, or gave up answering, which is usually enough to explain a volume that did not appear.

ferry restart stops Ferry and starts it again, remounting whatever is connected. Anything already written to the phone stays written.

Can I stop Ferry without uninstalling it?

ferry stop stops it until you start it again, or until your next login. To keep it from starting at login at all, use ferry disable — and ferry enable brings it back.

ferry --help lists everything else.