- The Platform Lock-In Problem
- The "Same Room" Problem
- The Large File Problem
- The Discovery and Pairing Problem
- Speed, Security, and the Stuff That Matters Less
The Platform Lock-In Problem
AirDrop works between Apple devices. That's it. iPhone to Mac, iPad to Mac, iPhone to iPhone. If the receiving end is a Windows PC, a Linux machine, or an Android phone, AirDrop doesn't exist for you.
This is the single biggest limitation of AirDrop, and it's by design. Apple has no incentive to support competing platforms. If you're entirely in the Apple world, AirDrop is excellent. The moment you introduce one non-Apple device, the whole system breaks down.
I run a mixed setup: an iPhone 15, an M5 MacBook Pro, a Windows 11 desktop (i7-13700K, RTX 5080), a Redbeat D5 Android phone for testing, and a ParrotOS laptop for Linux work. AirDrop covers exactly two of those five devices. For everything else, I used to email files to myself or drop them in a Discord channel. Both are terrible solutions for anything bigger than a few megabytes.
OpenDrop runs on Windows, macOS, Linux, iOS, and Android. The desktop versions ship with both a graphical interface and a CLI. The mobile apps are native (Flutter-based) and available on the App Store, Google Play, and Microsoft Store. Every combination works: iPhone to Windows, Android to Mac, Linux to iPad. The transfer mechanism is the same regardless of which platforms are talking to each other.
Platform support isn't a feature you think about until you need it. Then it's the only feature that matters.
The "Same Room" Problem
AirDrop requires both devices to be nearby. Apple uses a combination of Bluetooth for discovery and WiFi for the actual transfer. Both radios need to be on, both devices need to be within Bluetooth range (roughly 10 meters), and both need WiFi enabled. If you're trying to send a file to your own PC in another room, AirDrop might work. If the PC is in a different building or on a different network, AirDrop can't help.
This was the original motivation for building OpenDrop. I wanted to pull photos off my iPhone onto my Windows desktop. Same house, same network, but AirDrop doesn't talk to Windows at all. Even between Apple devices, AirDrop's proximity requirement means you can't send files to your own Mac when you're away from it.
OpenDrop works both locally and remotely. On the same network, it uses mDNS auto-discovery (the service type is _opendrop._tcp.local. on port 8000) to find devices automatically. No Bluetooth needed. The transfer goes over direct HTTP between the two devices.
On different networks, OpenDrop creates a Cloudflare tunnel that connects the devices over the internet. Free users get chunked transfers through this tunnel (5MB chunks at roughly 8 Mbps). Pro users get a faster Fly.io relay with streaming binary WebSocket frames at 30-50+ Mbps. Either way, you can send files between your phone on cellular and your home PC without being anywhere near it.
I test this regularly from my phone on cellular in Greenville, SC to my desktop at home. The tunnel connects in a few seconds, and transfers start immediately. For AirDrop to work, I'd need to physically walk to my Mac and stand next to it. That's not a file transfer solution; it's a sneakernet with extra steps.
The Large File Problem
AirDrop handles large files reasonably well when it works. Since it uses a direct WiFi connection between devices, there's no upload/download middleman. Apple doesn't publish a hard file size limit for AirDrop, and in practice it can handle multi-gigabyte files. The limiting factor is usually the available storage on the receiving device.
Where AirDrop falls apart is reliability with large transfers. I've had AirDrop transfers fail mid-way on files over 1GB with no clear error message. The progress bar freezes, then the transfer quietly fails. You try again, sometimes it works, sometimes it doesn't. There's no resume capability. If a 4GB transfer fails at 90%, you start over from zero.
OpenDrop's LAN streaming mode also handles large files directly. On the same network, files stream from sender to receiver with no intermediate storage, supporting files up to 10GB. The difference is in what happens when things go wrong on a remote connection.
Free remote transfers use 5MB chunks through the Cloudflare tunnel. If chunk 200 of a large transfer fails, only that 5MB piece gets retried. You don't lose the previous 999MB of progress. The chunking is slower (roughly 8 Mbps), but for large files on unreliable connections, the reliability tradeoff is worth it.
Pro remote transfers stream files through the Fly.io relay at 30-50+ Mbps. For context, we originally used base64-encoded JSON payloads for remote transfers. Switching to binary WebSocket frames eliminated the 33% encoding overhead and significantly improved throughput.
If you're sending a large file between devices in the same location, connect both to the same WiFi network first. OpenDrop automatically switches to LAN streaming mode, which is dramatically faster than any remote transfer method.
The Discovery and Pairing Problem
AirDrop discovery is finicky. The receiving device needs to have AirDrop set to either "Contacts Only" or "Everyone." If it's set to "Contacts Only" (the default since iOS 16.2 in China and later globally for non-contacts), the sender needs to be in the receiver's contacts. "Everyone" mode works universally but is a privacy risk in public places, which is exactly why Apple restricted it.
Even with the right settings, AirDrop discovery sometimes just doesn't work. Both devices are right next to each other, both have WiFi and Bluetooth on, AirDrop is set to "Everyone," and the other device doesn't show up. Toggle WiFi off and on. Toggle Bluetooth. Restart. Try again. If you've used AirDrop regularly, you've done this dance.
OpenDrop's primary discovery method is mDNS (multicast DNS), the same protocol Apple uses for Bonjour. The desktop server broadcasts its presence on the local network, and mobile apps listen for it. This works on any network that allows multicast traffic, which is most home and office networks.
When mDNS doesn't work (hotels, corporate WiFi, networks that block multicast on port 5353 UDP), OpenDrop has QR code pairing as a fallback. We added this after multiple users in the same week emailed about hotel WiFi blocking mDNS. The QR code encodes the server's IP address and port directly, bypassing discovery entirely. Scan the code with your phone, and you're connected. No Bluetooth, no contact list, no toggling settings.
For remote connections (different networks), discovery isn't relevant. The mobile app connects to the desktop through the tunnel URL. The desktop app displays a QR code containing the tunnel address, or you can connect by entering it manually.
Speed, Security, and the Stuff That Matters Less
AirDrop uses a proprietary protocol over WiFi Direct. Apple doesn't publish speed benchmarks, but real-world AirDrop transfers are fast on supported hardware. WiFi Direct can theoretically reach hundreds of megabits per second, and AirDrop takes good advantage of it.
OpenDrop LAN transfers also use WiFi, but over standard HTTP rather than WiFi Direct. The practical speed difference depends on your network hardware. On a modern WiFi 5 or WiFi 6 router, OpenDrop LAN transfers are fast enough that file size, not network speed, is the limiting factor for anything under several gigabytes.
Security models differ. AirDrop uses TLS 1.2 encryption and verifies identities through iCloud certificates when using "Contacts Only" mode. OpenDrop uses HMAC-SHA256 request signing with a shared secret and a 30-second timestamp window to prevent replay attacks. Remote transfers get TLS encryption via Cloudflare (free tier) or Fly.io (Pro tier). LAN transfers use plain HTTP because the traffic stays on your local network and never touches the internet.
Neither approach is inherently more secure than the other for their intended use cases. AirDrop's identity verification is useful when receiving files from strangers. OpenDrop's HMAC signing is designed for transfers between your own devices, where you control both endpoints.
The real question isn't which tool is "better" in the abstract. If all your devices are Apple, AirDrop works well for local transfers and requires zero setup. The moment you need to send files to Windows, Linux, or Android, or the moment you need to send files remotely, AirDrop has nothing to offer. OpenDrop covers both the local and remote cases across all five major platforms. For a mixed-device household or anyone who transfers files between different ecosystems, it solves problems AirDrop was never designed to address.
Transfer Files Across Every Device You Own
OpenDrop works on Windows, macOS, Linux, iOS, and Android. Same network or different networks. No platform restrictions, no proximity requirements.
Download OpenDrop Free