Android to Mac. And back again.
The complete app for your Android phone and your Mac. Browse it like Finder, copy photos and files both ways, and free up space - and if the cable comes out halfway, Pulli carries on from where it stopped.
Download for MacFree · macOS 26 or later · Apple siliconVersion 0.4.2 · notarised by Apple · updates itself · source on GitHub
brew install --cask ijahongirmirzo/tap/pulli
Everything in one app
All you do with your phone on a Mac.
No app to install on the phone, no account, nothing to set up. Plug it in with a cable and Pulli shows what's on it within seconds.
Phone to Mac
Photos, videos and any folder. One click copies just what's new since last time.
Mac to phone
Drag files onto the phone, click Add…, or paste with ⌘V - even straight from Safari or Telegram.
Browse like Finder
Icons or list, sorting, photo previews, and Quick Look with Space.
In Finder's sidebar
Your phone appears under Locations, right next to your Mac's own drives.
Never starts over
Cable out, Mac asleep, even a crash: copies continue from the exact byte.
Free up space
Delete copied photos from the phone - only after checking every byte on your Mac.
Storage map
See what fills the phone, including WhatsApp, Telegram, Instagram and Viber media.
Menu bar and widgets
Progress at a glance, one-click copies, notifications and Shortcuts actions.
Your phone, like any folder on your Mac
Browse in list or icons, sort, preview photos and press Space for Quick Look. Drag and drop works both ways, and so do ⌘C and ⌘V with Finder. Prefer Finder? Your phone is in its sidebar too.
Copy what's new, skip what you have
Pulli knows what you copied last time and what is already on your Mac - even under another name - so one click brings over only new photos. Every file is checked as it's written, with speed and time left in plain view.
See what fills your phone
A storage map shows where the space goes at a glance, and Pulli finds the photos and videos hiding in WhatsApp, Telegram, Instagram and Viber.
Free up space, safely
After a copy, Pulli can delete the originals from the phone - but only after checking each copy on your Mac against the phone, byte for byte.
Fits in on your Mac
A menu bar item and desktop widgets show progress at a glance and copy new photos in one click. Close the window and Pulli keeps working. There's a plug-in chime, notifications, Shortcuts actions, and a cable check that tells you when another cable or port would copy faster.
History, on your terms
Every copy is listed with what went where. Clear History forgets it all - copies, the activity log and saved previews - whenever you like.
Built in: copies that finish
Pull the cable. Pulli carries on.
Big copies take a while, and over USB a lot can happen. Wherever a copy stops, Pulli continues from that exact byte - even halfway through a 4 GB video.
The cable is pulled
Waits for the same phone, then continues by itself when it's back - in any port.
The phone locks, or its USB mode changes
Tells you what to tap, and continues as soon as the phone allows it.
The Mac sleeps, or you close the lid
Keeps the Mac awake while copying. If it sleeps anyway, continues when it wakes.
Pulli is quit, crashes or is force-quit
Continues from the last saved block the next time it runs.
The Mac restarts
Picks up the unfinished copy when Pulli opens again - at login, if you let it.
The disk fills up
Pauses with a clear message, and continues once there is room.
How it works
- Small, saved blocksPulli copies in 4 MB blocks. Each block is written to disk before it's recorded in Pulli's copy journal - so the journal never claims more than is really on your Mac.
- Nothing read twiceOn resume, Pulli checks the file on the phone hasn't changed, then continues from the last saved block.
- Never a half fileA file keeps a
.partname until it's complete, and every file gets a SHA-256 fingerprint as it's copied.
Tested on a real phone · Samsung Galaxy Z Fold7 over USB
The engine also runs through a simulated phone that fails on purpose - cable pulls, stalls, short reads, power loss - and every copy must come out byte-identical.
Open source
Free, open, and on your side.
Pulli is free software under the GPL. Every line is on GitHub - no account, no ads, no analytics, no upsell. Your files go straight from the phone to the folder you choose.
Read the code
See exactly what Pulli does with your phone. Built in Swift on libmtp and libusb.
github.com/ijahongirmirzo/pulli ›Build it yourself
Vendor/build-deps.sh
swift build
scripts/make-app.sh
Shape what's next
Report a bug or suggest an idea. Your phone model and Pulli's activity log help most.
Open an issue ›- No account
- No analytics
- No tracking
- Nothing sent anywhere
- GPL-3.0
Get started
Up and running in a minute.
Install Pulli
Download Pulli, open the disk image and drag Pulli to Applications. Or use Homebrew.
Plug in your phone
Use a USB cable that carries data, and unlock the phone.
Choose File transfer
On the phone, tap the USB notification and choose File transfer. Tap Allow if it asks.
Which Macs
Every Mac with Apple silicon - M1 or newer - running macOS 26 Tahoe or later. Intel Macs are not supported. To check: Apple menu › About This Mac shows “Chip: Apple M…”.
Which phones
Any Android phone with a USB cable that carries data and offers “File transfer”. Tested with Samsung Galaxy and Lenovo phones.
Your phone and your Mac, finally friends.
Free and open source. Every copy finishes.
Download for MacFree · macOS 26 or later · Apple siliconOr read the code on GitHub