Self-Hosted Alternatives to AirDrop
AirDrop Only Works in Apple’s Walled Garden
AirDrop solves a real problem — send a file to someone nearby without fumbling with email, messaging apps, or USB drives. But it only works between Apple devices. iPhone to Mac? Seamless. iPhone to Windows laptop? Impossible. Android to anything? Not even an option.
Apple’s implementation also has privacy quirks. AirDrop broadcasts a hashed version of your phone number and email over Bluetooth to discover nearby devices. Researchers have demonstrated that these hashes can be reversed to identify users. The “Contacts Only” setting helps, but the discovery mechanism still leaks identifiable data.
If you work across mixed device ecosystems — Windows desktops, Linux servers, Android phones, and iPads — AirDrop’s platform restriction is a dealbreaker. Self-hosted alternatives use standard web technologies (WebRTC, WebSockets) to provide the same instant file-sharing experience on any device with a browser.
Best Alternatives
PairDrop — Best Overall AirDrop Replacement
PairDrop is the closest thing to AirDrop for the rest of the world. Devices on the same network auto-discover each other through the web UI. Select a device, pick your files, and they transfer directly between browsers via WebRTC — files never touch the server. It works on phones, tablets, laptops, and desktops regardless of operating system.
PairDrop improves on AirDrop in several ways: persistent device pairing across sessions, room-based sharing for connecting devices on different networks, text/message sharing alongside files, and a clean web UI that requires zero installation on client devices.
| Feature | Apple AirDrop | PairDrop (Self-Hosted) |
|---|---|---|
| Cross-platform | Apple only | Any device with a browser |
| File size limit | None (local transfer) | None (WebRTC, peer-to-peer) |
| Server required | No (Bluetooth + Wi-Fi) | Yes (signaling server only) |
| Files touch server | No | No (peer-to-peer via WebRTC) |
| Auto-discovery | Bluetooth LE | Same network detection |
| Persistent pairing | Via Apple ID contacts | Yes (cross-session) |
| Text sharing | No | Yes |
| Room-based sharing | No | Yes (cross-network) |
| Installation required | Built into Apple OS | None (web UI) |
| Privacy | Hashed phone/email broadcast | No personal data exposed |
| Open source | No | Yes (MIT license) |
PairDrop runs as a lightweight Node.js server in Docker. It handles WebRTC signaling and device discovery — actual file data flows directly between browsers. Resource usage is minimal: under 50 MB RAM, negligible CPU.
Best for: Anyone who needs AirDrop-style instant file sharing across mixed device ecosystems. The best drop-in replacement.
[Read our full guide: How to Self-Host PairDrop]
LocalSend — Best Native App Experience
LocalSend is an open-source, cross-platform file sharing app that doesn’t require a server at all. Install it on Windows, macOS, Linux, Android, or iOS, and devices discover each other on the local network using mDNS. Files transfer over HTTPS directly between devices — encrypted in transit, no cloud involved.
Unlike PairDrop (which runs in the browser), LocalSend is a native app. This means better OS integration: share-sheet support on mobile, drag-and-drop on desktop, and transfer speeds closer to the network’s maximum throughput. The trade-off is that every device needs the app installed — you can’t share with someone who hasn’t installed it.
| Feature | Apple AirDrop | LocalSend |
|---|---|---|
| Cross-platform | Apple only | Windows, macOS, Linux, Android, iOS |
| Installation | Built-in | App required (open-source) |
| Server needed | No | No |
| Discovery | Bluetooth LE | mDNS (local network) |
| Encryption | Yes | HTTPS (TLS) |
| File size limit | None | None |
| Native OS integration | Full (share sheet, Finder) | Good (share sheet, desktop) |
| Open source | No | Yes (MIT license) |
Best for: Teams and households where every device can install the app. Best native experience with zero server infrastructure.
Send — Best for Sharing With Anyone
PairDrop and LocalSend work great when both parties are nearby or on the same network. For sharing files with anyone, anywhere — like emailing a download link — Send is the answer. Upload a file, get an encrypted link with configurable download limits and expiry. Files are end-to-end encrypted in the browser before upload.
Send is closer to a WeTransfer replacement than an AirDrop replacement, but it fills the gap AirDrop leaves for remote sharing. No account required on either end — share the link via any messaging app.
Best for: Sharing files with people who aren’t on your network. Complements PairDrop for remote transfers.
[Read our full guide: How to Self-Host Send]
Feature Comparison
| Feature | AirDrop | PairDrop | LocalSend | Send |
|---|---|---|---|---|
| Transfer type | Local (P2P) | Local (WebRTC P2P) | Local (HTTPS P2P) | Remote (upload/download) |
| Cross-platform | Apple only | All (browser) | All (native app) | All (browser) |
| Server required | No | Yes (signaling) | No | Yes (storage) |
| Files on server | No | No | No | Yes (encrypted) |
| End-to-end encrypted | Yes | Yes (WebRTC DTLS) | Yes (TLS) | Yes (AES-GCM) |
| Auto-discovery | Bluetooth | Network detection | mDNS | N/A (link sharing) |
| File size limit | None | None | None | Configurable |
| Link sharing | No | No | No | Yes |
| Text sharing | No | Yes | Yes | No |
| Installation | Built-in | None | App required | None |
| Self-hosted | No | Yes | No (serverless) | Yes |
Recommended Setup
For complete AirDrop replacement, run both PairDrop and Send:
- PairDrop handles instant local sharing — the “hand someone a file” use case. Runs on minimal resources (signaling server only, no file storage needed).
- Send handles remote sharing — the “send a download link” use case. Needs storage for encrypted files.
Both run easily in Docker on the same VPS. PairDrop uses ~50 MB RAM; Send uses ~150 MB RAM plus storage for uploaded files.
# Quick reference — both services on one machine
PairDrop: pairdrop.yourdomain.com (signaling only, no storage)
Send: send.yourdomain.com (encrypted file storage)
What You Give Up
- Zero-install experience. AirDrop is built into every Apple device. PairDrop requires opening a URL. LocalSend requires installing an app. There’s always one extra step.
- Bluetooth discovery. AirDrop finds nearby devices even without Wi-Fi. PairDrop and LocalSend require a shared network (though PairDrop’s room feature allows cross-network sharing).
- Share sheet integration. On Apple devices, AirDrop appears in the system share sheet. LocalSend integrates with share sheets on most platforms; PairDrop doesn’t (it’s browser-based).
- Speed on Apple devices. AirDrop uses a combination of Bluetooth and Wi-Fi Direct for transfer speeds up to ~1 Gbps. Browser-based WebRTC transfers are typically slower due to browser overhead.
For mixed-platform environments, the flexibility of PairDrop far outweighs these trade-offs. If your entire household or team is on Apple, AirDrop remains the simplest option — but adding one Android or Windows device makes self-hosted alternatives essential.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments