Hand it to your other device.
A password, a paragraph, a file. Ferry moves it across in a couple of seconds, encrypted the whole way, and keeps nothing once you close the tab.
Starting Ferry…
A password, a paragraph, a file. Ferry moves it across in a couple of seconds, encrypted the whole way, and keeps nothing once you close the tab.
Starting Ferry…
Ferry is a free, open-source tool for moving a password, a piece of text or a file from one device to another. Both devices open the same web page, one shows a code, the other reads it, and the thing goes across a connection that is encrypted end to end. There is no account to make, nothing to install, and nothing left on a server afterwards.
It exists because the usual routes all go through somebody else. Email it to yourself and it sits on a mail server. Drop it in a chat and it lands in that company’s storage. Upload it and paste a link, and now the link is the secret and the file is on a disk you do not control. None of that is necessary when the two devices are yours and often an arm’s length apart.
It mints a ten-character code and shows it as a QR. The code is the only secret, and it never reaches a server — the relay only ever sees a hash of it.
Scan the QR or type the ten characters. Both browsers generate a throwaway key pair and agree on a shared key, salted with the code, so a relay that tried to insert itself would end up with a different key and be caught immediately.
Those words come from the agreed key. Matching words on both devices mean nobody is in the middle — a check you make yourself, without trusting anyone.
On the same network the bytes travel device to device and never touch the relay at all. When a network blocks that, the same encrypted frames are forwarded instead — the relay still cannot read them.
ECDH P-256, HKDF and AES-256-GCM through WebCrypto, with separate keys for each direction.
Nothing to sign up for and no identity to prove. Open the page and use it.
No upload, no copy on a disk somewhere, and received items clear themselves on a timer.
The relay never learns your code, sees only ciphertext, and keeps no record of who paired with whom.
No analytics, no tracking pixels, no third-party fonts or scripts. The page talks to nobody but you.
Read it, run the crypto tests, or host the whole thing yourself.
Off the password manager on your laptop and into your hand, without it passing through an inbox or a chat log. It clears itself two minutes after it arrives.
Straight into the browser on your desktop, at local network speed, without a cable, an app, or a round trip through cloud storage.
A hotel computer, a client's machine, a library terminal. Nothing is installed and nothing is left behind when the tab closes.
Config snippets, one-time codes, an address you would otherwise retype character by character across a room.
Android to Windows, iPhone to Linux, work laptop to personal tablet. Ferry only needs a browser on both ends, so the operating systems never have to agree on anything.
Run the bundled LAN host and two devices on the same Wi-Fi pair with nothing leaving the building at all.
| Route | Where the file ends up | Account | Size limit |
|---|---|---|---|
| Emailing it to yourself | Sits on a mail server, both yours and theirs | Required | About 25 MB |
| A chat app | Stored by the chat provider | Required | Varies, often 100 MB |
| Cloud storage and a link | On their disk; the link becomes the secret | Required | Quota-based |
| Ferry | Nowhere — browser to browser | None | 250 MB per transfer |
Ferry is a free, open-source web app for sending a password, a piece of text or a file from one of your devices to another. The two browsers connect directly and everything is encrypted end to end, so nothing is uploaded to a server and nothing is kept afterwards. You open the page on both devices, match a code, and send.
It is free with no paid tier, no usage limit and no upsell. There is nothing to buy because there is nothing to run at scale: with no accounts and no stored files, the only always-on piece is a small relay that introduces two browsers to each other. The source is MIT licensed, so you can also host the whole thing yourself.
No. There is no sign-up, no email address and no identity of any kind. Open the page and it works. Because there is no account, there is also no profile, no history and nothing to delete later.
No. Where the network allows it — which is most of the time, and always on a shared Wi-Fi network — the bytes travel directly from one browser to the other over WebRTC and never touch a server at all. On networks that block direct connections, the same already-encrypted frames are forwarded through a relay that cannot read them and does not store them.
Each side generates a throwaway P-256 key pair and they perform an ECDH key agreement. The shared secret is run through HKDF salted with a value derived from your pairing code, and the result encrypts every payload with AES-256-GCM, in separate keys for each direction. All of it happens in the browser through WebCrypto. The keys exist only in memory and are gone when the tab closes.
Up to 250 MB in a single transfer. Files stream across in 64 KB pieces with backpressure, so a large one does not build up in memory on either device. There is no limit on how many transfers you make.
After the two devices agree on a key, both screens show the same four words, derived from that key. If the words match, the two devices hold the same key and there is no third party in between. If they differ, stop — that is exactly what the check is for. You do not have to trust the relay or the people running it to make that judgement.
Yes. Drop or pick as many as you like and they queue up, then go one at a time over the same encrypted link. Sending them one after another rather than all at once means each finished file is genuinely finished, and a connection that drops costs you only the file in flight — the rest stay in the queue and carry on afterwards. You can reorder nothing, but you can cancel anything still waiting, and retry anything that failed. The queue holds 50 items, and each file is still capped at 250 MB.
No. Ferry keeps the code in memory for as long as the tab is open, so a dropped link, a phone that slept, or a device that wandered off Wi-Fi is rebuilt on its own — the queue picks up where it left off. Separately, you can tick “Remember” while two devices are connected, and each will then offer the other as a one-tap reconnect next time, with no code at all.
No. There are no analytics, no tracking pixels and no third-party scripts. Fonts and images are served from the same origin as the page, so no other company learns that you visited. The relay keeps no record of who paired with whom; it is handed a hash of your code rather than the code, and it only ever sees ciphertext.
Any modern browser that supports WebCrypto and WebRTC — Chrome, Edge, Firefox and Safari — on Windows, macOS, Linux, Android and iOS. There is nothing to install, and it works between different platforms: Android to Windows, iPhone to Linux, or any other pairing.
Yes, under the MIT licence, and the cryptographic properties are covered by tests that run against real WebCrypto on every change: that both sides agree on a key, that the two directions use different ones, that a peer with the wrong code is refused, and that a tampered frame is rejected. You can read the source, run the tests, or host your own copy.
A plain-text summary of this site for language models lives at /llms.txt.