Floe

Secure, encrypted P2P file transfer.No accounts, no file storage, and no registration required.

0.00 Bytestransferred globally

How it works

Your files never make a stop.

Two devices open an encrypted WebRTC channel and stream bytes to each other. The signaling server brokers the handshake, then steps out of the way.

01

Drop your files

You get a link and a short code like olive-tiger-castle. The room id rides the URL fragment, which never appears in page requests, server logs, or analytics.

02

Share either one

Your peer opens the link in any browser, or types the code into the CLI. No account on either side.

03

Watch it stream

Bytes move device to device over the encrypted channel. Close the tab and the transfer stops. Nothing is left behind.

Privacy

The server can't read what it never receives.

Floe's signaling server exists to introduce two devices, and that is all it does. This is the complete list.

The signaling server handles

  • WebRTC offers, answers, and ICE candidates
  • The room id that pairs two devices, held in memory while the room is open
  • A short room code that expires after 10 minutes
  • Short-lived TURN relay credentials
  • One anonymous running total of bytes for the public counter

It never sees

  • Your files, file names, or folder structure
  • Your share link. The #room fragment never travels in an HTTP request, referrer, or analytics event
  • Any transfer traffic. Once the peers connect, the data channel bypasses it entirely
  • Relayed traffic in the clear. Relay packets stay encrypted end to end

Command line

The same transfer, without the browser.

floe is a single static binary that talks to the same signaling infrastructure as the web app. Browser to terminal works in every direction, and folders arrive with their structure intact.

$ brew install --cask jannskiee/tap/floe
  • floe send <path>Share files or entire folders
  • floe receive <code>A short code is all the other side needs
  • floe updateThe binary updates itself

Also available via Scoop, a PowerShell one-liner, and go install. Installation guide

terminal

Example terminal session: floe send shares three files totaling 11.8 MB, prints the short code olive-tiger-castle and a link, connects to the peer, and completes the transfer in 8 seconds at an average of 1.4 MB per second.

Capabilities

No asterisks.

The fine print, printed large. Every claim below holds for the current release.

Unlimited direct transfers

No size cap on direct connections. Relayed sessions cap at 2 GB, and the badge shows which one you are on.

Browser to terminal

The web app and the CLI share one protocol. Send from a server, receive on a phone, any direction.

Folders stay folders

The CLI walks directories recursively and preserves their structure on the other side.

Honest progress

Per-file bars with live speed and ETA, in the browser and in the terminal.

Self-hostable

Run your own signaling server and relay with Docker. The docs cover production setup.

Open source, MIT

Client, server, and CLI. Every line is on GitHub.

FAQ

Questions, answered plainly.

Floe is a free file-sharing tool that lets you send files directly to another person, with no sign-up, no app download, and no files stored on any server. Think of it like handing a USB drive to someone, but over the internet. Direct connections have no size limit; relay connections are capped at 2 GB per session.
Normally when you share a file online, it gets uploaded to a company's server first, then the other person downloads it from there. With peer-to-peer (P2P), your file travels straight from your device to the recipient's device. In some network environments, a secure relay server acts as a bridge, but your files remain encrypted end-to-end and are never stored.

It's simple! Here's how it works:

For Senders:

  1. Drag and drop your files (or click to select them)
  2. Copy the link that appears
  3. Send that link to your friend
  4. Keep your browser tab open until they finish downloading

For Receivers:

  1. Open the link your friend sent you
  2. Wait for the connection (the status badge shows "Direct" or "Relay")
  3. Click "Download All" and the files come straight from your friend's device

That's it! No accounts needed, no waiting for uploads.

Yes. The floe CLI installs as a single binary and talks to the same infrastructure as the web app, so browser-to-terminal transfers work in every direction. Run floe send with a file or folder, share the printed code or link, and the other side receives it in a browser or with floe receive.
Your files are never stored on any server. In direct connections, data flows straight between devices. In relay connections, encrypted data passes through our TURN relay server in transit but is never saved or inspected. Once the transfer is complete and both tabs are closed, nothing is retained.
It depends on your connection type. Direct connections have no file size limit. If your connection uses a relay, transfers are capped at 2 GB per session. The app shows your connection type in real time, so you will always know which applies.
Because files are never uploaded to a storage server, your browser must remain open to send the data. If you close the tab or lose your connection, the transfer will stop. Think of it like a live video call: both sides need to stay connected for it to work.
Yes. All transfers use DTLS encryption built into WebRTC. Whether your connection is direct or relayed, only you and your recipient can read the data. Even the relay server handles only encrypted packets and cannot access your files.