Introduction
PairDrop makes sharing files between nearby devices effortless. Open a browser on each device, and they discover each other automatically on the local network. For remote sharing, pair devices with a 6-digit code or QR scan to create a temporary private room.
What PairDrop Does
- Transfers files peer-to-peer between any devices with a web browser
- Auto-discovers devices on the same local network without configuration
- Pairs devices across the internet using temporary 6-digit room codes
- Sends text snippets and URLs alongside or instead of files
- Works on desktop, mobile, and tablet with no native app required
Architecture Overview
PairDrop is a Node.js server that acts as a signaling and relay hub. Devices on the same network discover each other via the server's WebSocket connection and negotiate WebRTC peer-to-peer data channels for file transfer. When direct P2P connections fail (symmetric NATs, firewalls), traffic falls back through the server's WebSocket relay. The frontend is vanilla JavaScript with no framework dependencies.
Self-Hosting & Configuration
- Deploy via Docker or Docker Compose with a single container
- Set PUID/PGID and TZ environment variables for file permissions and timezone
- Optionally configure RATE_LIMIT and WS_FALLBACK environment variables
- Place behind a reverse proxy (Nginx, Caddy, Traefik) for HTTPS
- No database required — the server is stateless and holds only active connections
Key Features
- Zero setup for end users — just open a URL in any modern browser
- Peer-to-peer transfer via WebRTC keeps files off the server when possible
- QR code pairing for fast cross-network device linking
- Progressive Web App (PWA) support for an app-like experience on mobile
- Lightweight stateless server suitable for Raspberry Pi or low-resource VPS
Comparison with Similar Tools
- Snapdrop — PairDrop's predecessor; PairDrop adds internet pairing and active maintenance
- LocalSend — native app for local transfers; PairDrop needs no install (browser only)
- Warpinator — Linux Mint's LAN share tool; limited to Linux
- croc — CLI-based file transfer; PairDrop provides a visual web UI
- ShareDrop — similar WebRTC approach but no cross-network pairing
FAQ
Q: Are transferred files stored on the server? A: No. Files go directly peer-to-peer via WebRTC. The server only relays when P2P fails, and nothing is persisted.
Q: What is the maximum file size? A: There is no hard limit from PairDrop. Practical limits depend on device memory and browser capabilities.
Q: Can I use PairDrop on a corporate network? A: Yes. Self-host it internally so traffic stays on your network. The pairing feature works across subnets and VPNs.
Q: Does PairDrop work on iOS Safari? A: Yes, it works on all modern browsers including Safari on iOS.