PairDrop is the quickest way to get a photo from your phone to your laptop. Open it in a browser on both, tap the other device, and the file goes straight across your home network, with nothing to install and no account.
On this page
Good to know before you install
Pairing devices, notifications and installing PairDrop as an app need HTTPS in most browsers. Devices on different networks with no VPN between them may not connect directly, so turn on the outside STUN server setting if you need that
At a glance#
- What it is
- Local File Transfer Storage
- Where it opens
- Web Interface
On its own port at
http://your-server:port, orpairdrop.your-domainonce you have a domain - Updates
- Automatic A backup is taken first, and it rolls back if the update fails
- Backups
- Left out Not in the scheduled backups unless you switch it on
- Copies
- As many as you like Run several copies, each with its own data
What it's good for#
Moving a file between your own devices is oddly awkward when they aren't all made by the same company. Emailing it to yourself works, but slowly. PairDrop is like AirDrop for everything: Android, iPhone, Windows, Mac and Linux, in any modern browser.
Open PairDrop on two devices on your home network and they see each other straight away, each shown with a made-up name, a colour and an animal. Tap or click a device to send it files, or right-click (long-press on a phone) to send a text message instead, which is handy for a long link or a Wi-Fi password. The other person accepts, and it's done.
Nothing is stored on your server. PairDrop only introduces the two browsers to each other; the file itself goes directly between them. So there's nothing to back up, and nothing left behind afterwards.
Who you'll see#
PairDrop puts devices in the same "room" when they reach your server from the same network. Everything on your home network and everything on your LibrePortal VPN counts as one network, so your phone on the VPN at work still sees your laptop at home. It also means a guest on your Wi-Fi sees your devices while they have the page open, and you see theirs. Seeing each other isn't the same as trusting each other, though: a file only arrives when the other side accepts it, unless they've told PairDrop to accept everything from a device they've paired with.
For a device that isn't on your network, like a friend's phone on mobile data, PairDrop can pair two devices with a six-digit code or a QR code, so they find each other wherever they are. That needs HTTPS (see below).
When devices can't connect directly
Some networks, and some combinations of VPN and browser, stop two browsers connecting to each other directly. LibrePortal switches on PairDrop's fallback for this, so instead of failing, the transfer is relayed through your server. It's slower, and it passes through your server on the way, but it works, and it's your server.
Plain HTTP or HTTPS#
On a plain http://192.168.1.50:5123 address, the thing PairDrop is for works: devices on your network see each other and send files. Browsers keep a few extras back from pages that aren't on HTTPS, though, and PairDrop's own documentation lists them:
- pairing devices so they remember each other
- notifications when something arrives
- installing PairDrop as an app on your phone or computer
- changing your device's display name
- the Copy button on a message you've received
Turn on HTTPS and those work too. With a domain, PairDrop answers at pairdrop.your-domain with a certificate every browser trusts. HTTPS without a domain also counts once you've accepted LibrePortal's certificate on that device, though installing it as an app can still be refused over a certificate the browser doesn't recognise. To check: check whether Chrome and Safari will install PairDrop as a PWA over LibrePortal's self-signed certificate once it has been accepted
Putting it on your phone#
With HTTPS on, open PairDrop in your phone's browser and use Add to Home Screen (Safari's share menu on iPhone, the browser menu on Android). It then opens like an app, full screen, and on Android it can appear in the share menu so you can send a photo straight from the gallery. On a computer, Chrome and Edge offer an install button in the address bar.
Good to know#
- Open to anyone who can reach your server. That's harmless at home. If you've put it on a public domain, strangers who find the address could use your server to pass files between their own devices, with the fallback relaying through you. If that bothers you, make it private; your VPN devices keep working.
- Updates are automatic, and there's no data to lose if one goes wrong.
- You can run several copies, though one is plenty for a household.
Addresses and ports#
PairDrop has one port. LibrePortal picks a free port number for each when you install, so yours will differ from anyone else's. The Config tab's Network section shows them, and the app's Open button uses the right one. "Anyone" means it's reachable from wherever your server is reachable; you can make it private later.
| What it is | Who can reach it | With a domain |
|---|---|---|
| Web Interface | Anyone | pairdrop.your-domain |
Settings#
In its config file#
PairDrop's own settings aren't on the Config tab yet. They live in the app's config file, described here so you know they exist. How to change them.
| Setting | What it does | Starts as |
|---|---|---|
NameCFG_PAIRDROP_DISPLAY_NAME |
What this app is called on your dashboards. Leave empty to use its usual name | Empty |
Show on the LibrePortal DashboardCFG_PAIRDROP_SHOW_ON_DASHBOARD |
Whether this app gets a shortcut on the front page of the LibrePortal WebUI, separate from any Dashy dashboard Choices: true, false |
true |
Outside STUN serverCFG_PAIRDROP_PUBLIC_STUN |
Whether browsers may ask Google's public STUN server for their network address, for faster transfers between different networks. Choices: true, false |
false |
LibreSTUNCFG_PAIRDROP_LIBRESTUN |
Whether calls use this server's own STUN and TURN server (LibreSTUN) when it is installed; off keeps how this app made calls before Choices: auto, off |
auto |
Works with#
These are the other apps PairDrop knows how to work with. Once it's installed, its page shows the same list with whether each one is connected. How this works.
- LibreSTUN: Calls connect from anywhere through your own STUN and TURN server, with nothing going to Google. LibrePortal sets this up by itself when both are installed.
- Grafana: Shows dashboards for the apps that have one. works with every app
- Prometheus: Collects metrics from the apps that can export them. works with every app
- Uptime Kuma: Watches your apps and shows when one goes down. works with every app
Privacy and security#
All clear PairDrop moves files directly between your devices. LibrePortal stops browsers asking a Google server for their network address.
What leaves this server#
Nothing leaves this server on its own.
What LibrePortal turns off#
- Google's public STUN server (switchable in Config)
Licence: GPL-3.0. Audited: 21 October 2026. See the privacy of every app and the Promise.
Sources#
Under the hood#
- It runs this image:
ghcr.io/schlagmichdoch/pairdrop:v1.11.2@sha256:c4b30977264a76e335740089e693a52a0d0d616330dec7f93c7b96beef7b4a02. - It can sit behind Authelia's sign-in once Authelia is installed.
- Its own project and documentation: github.com/schlagmichdoch/PairDrop
Ports, settings, tools and connections on this page are read from LibrePortal v0.10.97's app catalogue each time the guide is built.