Send photos and files between your Macs without AirDrop

By

Pair two Macs once with a 6-digit code in Home Drop, then send photos and files over the local network without picking a destination each time.

AirDrop asks you to pick a Mac every time. That is fine for a single file from an iPhone. It gets old when the same two Macs at home trade photos and folders all week, and a shared folder has already let you down. Productivity gains of a Mac and an iPhone is where AirDrop still fits, including the Finder icon and a device you do not keep paired. For the other Macs on the desk, you want the pair to stick.

Home Drop keeps those Macs paired. You drop a folder on the window and it goes to the default group. The Macs find each other with Bonjour on the local network. There is no account and no server in the middle. The copy stays on the LAN.

The names, photos, and files on the Home Drop page are made up. Both Macs in that demo are test machines. The clicks and the homedrop commands below are the ones that page and the docs print.

What you need

Home Drop needs macOS 14 or later on every Mac that sends or receives. The app runs on Apple silicon and on Intel. One side on an older system will not pair. Both Macs have to be awake and on the same network. A Mac on a different Wi-Fi, or asleep, is not a peer yet.

You do not need an Apple ID inside the app, and you do not need a hosted account. Pairing is a 6-digit code one Mac shows and you type on the other.

After you pay, download Home-Drop-1.2.0.zip from your Polar receipt, unzip it, and move Home Drop.app to Applications. Do that on both Macs. The download is signed with a Developer ID and notarized. Updates are manual: download the new zip from the receipt, quit the app, replace it in Applications, and open it again. Pairing and groups stay in place across that replace.

The first launch is the preflight. Open Home Drop on both Macs before you try to send. macOS asks for the Local Network permission the first time. Allow it on both. Without it, Bonjour cannot find the other Mac, and pairing never starts. If you already denied it, the send will look like a Mac that is not there. Turn Local Network on for Home Drop in System Settings, then open the app again.

The Share extension is a second switch, and it starts off. Until you enable it in System Settings, Share › Home Drop does not appear. Dropping on the window still works. Do not debug a missing share item as a failed pair.

homedrop lives inside the app at Home Drop.app/Contents/Helpers/homedrop and shares state with the app. You can send without the command. Link it when a script or an agent should use the same pairs:

ln -s "/Applications/Home Drop.app/Contents/Helpers/homedrop" ~/.local/bin/homedrop

homedrop help lists every command. homedrop capabilities prints what an agent can do. If homedrop is not found, the link is missing or ~/.local/bin is not on your PATH. The app itself does not need that link.

Pair the two Macs once

Until the Macs have exchanged keys, a drop has nowhere trusted to go. The code is what limits that exchange to the Mac in front of you. Both Macs have to be awake on the same network, or Bonjour never shows the other Mac and the code has nobody to reach. Skip the pair and nothing is trusted, so the window has no destination.

Open Home Drop on both Macs. On each one, pick Pair a Mac (⌘P). One Mac shows a 6-digit code. Type that code on the other Mac.

On both Macs: Pair a Mac (⌘P)
On the Mac that shows the code: read the 6 digits
On the other Mac: type those digits

The screenshot on the app page is this sheet: this Mac’s code, and a nearby Mac named Anna’s MacBook Air. That name is part of the made-up demo.

Every Mac makes a Curve25519 key the first time it runs. Pairing mixes the 6-digit code into a fresh key exchange, so only a Mac that knows the code can swap keys. After that, each transfer derives new AES-GCM keys from both paired keys plus a fresh exchange. A Mac that is not paired cannot connect. Nothing in that path goes through a server.

You can pair as many Macs as you need. Each pair belongs to a group, which is a set of Macs that share a stream of what was sent and received. The default group has a star. Settings (⌘,) is where you rename a group, add Macs to it, or make another group the default.

A second pairing is not required for a second send. The pair sticks. You type the code again only for a new Mac, or after you have unpaired. Replacing the app in Applications does not clear the pair.

There is no documented timer on the code. Stay on both sheets until the type-in finishes. If the other Mac never appears in the list, check Local Network and that both machines are awake on the same network before you generate another code.

Drop a folder on the default group

Once a default group exists, a drop should not ask you to pick a Mac. That is the whole difference from AirDrop. If you still get a picker, you are in the Option-key path in the next section, or the Share extension, not in a plain drop.

Example 1: eight photos to the default group

The demo on the page sends eight photos and later receives three photos and a PDF. The stream for the Family group shows those eight photos sent to Anna’s MacBook Air, and four files received, with thumbnails, who sent them, and when. Your counts will differ. The path is the same.

Put the files in Finder. Drag them onto the Home Drop window, or onto the Dock icon. They go to the group that has the star.

Finder: select the photos
Drag onto the Home Drop window, or onto its Dock icon
Destination: the default group (the one with the star)

You can also drop on a group in the sidebar when you want that group specifically, without changing the default.

If the other Mac is offline, Home Drop keeps the send waiting and starts it when that Mac appears again. You do not have to drop the files a second time for that wait. An asleep Mac is the usual reason. Wake it on the same network and the waiting send continues.

When the files arrive, the receiving Mac shows a notification with who sent them and what came. The notification only appears when Home Drop is not the frontmost app, because the stream already shows the arrival. If you are looking at the stream, you will not get a second banner. That is the documented behavior, not a missed send.

Received files land in ~/Downloads/Home Drop unless you changed the folder. The other Mac’s screenshot on the page is the eight photos received and saved to Downloads. Open that folder if the stream says the send finished and Finder is where you expected the files.

A second drop of the same folder is another send. The docs do not describe skipping duplicates. You will see another entry in the stream. History is the list of those entries, not a single “latest only” row.

Choose a group, or send from Photos

The default group is the wrong destination as soon as you have two groups, for example one shared with someone else and one that is only your own Macs. A plain drop will not ask. It uses the star. The Option key is how you pick a different group for one send without changing the default.

Example 2: hold Option, or send a JPEG from Photos

This is a different path from example 1. Example 1 used the default group and files from Finder. Here you either aim at another group, or you start inside Photos, which does not send the original file.

Hold ⌥ while you drop. A small menu lists the groups. Pick one. The same modifier works in the share sheet: hold ⌥ while you pick Share › Home Drop to choose a group. Dropping on the group’s row in the sidebar sends there without the modifier.

Hold Option
Drop the files on the Home Drop window
Pick the group in the small menu

Or, from Photos or Finder’s share sheet, after you have enabled the extension:

Share > Home Drop
Hold Option while picking it, if you need a group other than the default

Sharing from inside Photos sends a rendered JPEG. A RAW file or a Live Photo has to be dragged from Finder if you want the original. The JPEG is a new image, not the RAW you shot. Date and location survive when the destination is a Photos album, which is a Settings choice, not the default folder.

In Settings (⌘,), pick another folder, or add photos and videos to an album in Photos. Photos keeps each photo’s date and location, and a Live Photo’s still and video arrive as one Live Photo. That album option is on the receiving Mac. Album sync between Macs is not in this version. Home Drop copies files and photos. It does not merge Photos libraries. Two Macs will not end up with one shared library because you paired them.

The Share extension stays off until you turn it on. If Share › Home Drop is missing, use the drop on the window. Enabling the extension does not unpair anything.

Send with the homedrop command

The menu is enough until a script should repeat the send, or you want the history without clicking the stream. The command uses the pairs the app already has. It shares that state with the app, so it is not a second account. A send from the terminal still lands in the receiving Mac’s save folder, ~/Downloads/Home Drop, unless Settings on that Mac points somewhere else. If the app has never paired, the command has no peer to send to.

The docs print this sequence. The code 482913 and the name Anna’s MacBook Air are the made-up demo:

homedrop pair "Anna's MacBook Air" 482913
homedrop groups add Family "Anna's MacBook Air" --default
homedrop send ~/Pictures/Trip
homedrop history --group Family

pair is the command form of typing the 6-digit code. groups add with --default makes Family the starred group, so a later plain drop and a homedrop send without a group both go there. send takes a path. history --group prints that group’s stream of sends and receives.

homedrop help is the full list. The page does not paste its output, so run it on your Mac when you need a flag the four commands above do not show. homedrop capabilities is the same surface, written for an agent.

A second homedrop send of the same folder sends again. Pairing is not repeated unless you are adding a Mac. If pair fails, start Pair a Mac again on the Mac that displays the code and type the digits it shows now. The docs do not print an error string for a bad code. The symptom is that the Mac never joins the group.

Undo for a send that already arrived is on the receiving Mac: the files are in ~/Downloads/Home Drop, or in the Photos album if you chose that. Unpairing does not say it deletes those files. Move or delete them yourself if you do not want them. Undo for a group you added by mistake is Settings, where you rename groups and choose the default. The docs do not print a groups remove command. Use the app’s Settings for that, and homedrop help if your installed build lists more.

Unpair a Mac before you sell it

The keys from pairing are what let a Mac connect later. Leaving them on a machine you sold, or on a disk you are about to erase, leaves a peer that still knows the exchange. Unpair while Home Drop still opens on the Mac you are keeping. After the other disk is wiped, only the Mac you kept can drop that peer from the group. Unpair first.

Unpair on either Mac. The other one drops it from the group. Do that before you wipe or sell the Mac, so its keys cannot be used to connect again.

On either Mac: unpair the other Mac
The other Mac drops out of the group

A later send to that Mac waits on a new pair and a new code. The Curve25519 key the app created on first launch is still on a Mac you did not wipe. Unpair removes that Mac from the group, which is what stops those keys being used to connect again. Wiping the disk is what removes the app’s key from the machine. Do the unpair while Home Drop still opens.

There is no account and no server holding the group. The other Mac learns about the unpair from the Mac you still have, because unpair on either side drops it from the group. If one Mac is already gone, unpair it from the Mac you still have. Copies already saved in ~/Downloads/Home Drop are files on disk. The unpair description does not say those copies are deleted.

If something looks wrong

Example 3: the other Mac never appears

If the other Mac never shows up on the pair sheet, Local Network is denied, or the Macs are not awake on the same network. Allow Local Network for Home Drop on both sides. Bonjour is how they find each other, so a network that cannot do local discovery leaves the sheet empty. Pairing never starts until that permission is allowed.

If a drop does nothing and the other Mac is asleep or offline, the send is waiting. Wake that Mac on this network. You should not need to drop the files again.

If Share › Home Drop is missing, the extension is still off. Turn it on in System Settings. Until then, drop on the window or the Dock icon.

If Photos sent a JPEG and you wanted the RAW or the Live Photo, that is the share-from-Photos path. Drag the original from Finder. The JPEG is what the docs say Photos sharing sends.

If files arrived in ~/Downloads/Home Drop and you wanted a Photos album, change the destination in Settings (⌘,) on the receiving Mac. The album choice does not sync albums between Macs. This version does not merge libraries.

If the shell says homedrop: command not found, the symlink into ~/.local/bin is missing, or that directory is not on PATH. The binary is still at Home Drop.app/Contents/Helpers/homedrop after you move the app to Applications.

If you replaced the app and the pairs vanished, the update steps say to quit, replace the app in Applications, and open it again, and that pairing stays. A second copy of the app elsewhere is not that replace. Use the one in Applications that you paired.

Send a file to a paired MacPair once with a 6-digit code, drop on the default group, and hold Option when the file should go to a different group.DefaultAnotherPair with the6-digit codeWhich group?Drop on the windowHold Option and dropDownloads/Home Drop

Get Home Drop

Send photos and files straight to your other Macs over the local network. Pair once with a 6-digit code, no accounts and no servers. Includes a native Mac app, CLI and full MIT source.

See Home Drop → · Read the docs · $20 including tax, with full source code.

More tutorials for my apps →

Want me to talk about your product? You can sponsor this site.