Encrypted peer-to-peer file transfer for the browser, desktop, and command line
Try Floe · Documentation · Desktop · CLI · Self-hosting · Contributing
Floe is an open-source peer-to-peer file transfer application built on WebRTC. Files stream directly between devices; the signaling server negotiates connections and never stores, inspects, or decrypts file data. When a direct path is blocked, an optional TURN relay bridges the transfer while the data stays end-to-end encrypted. The desktop app and the CLI contain no analytics or telemetry; the only things either sends are an optional, anonymous byte count that powers the public counter and an optional once-a-day update check against GitHub, and you can turn both off in any client. The floe.one website itself runs cookieless, aggregate analytics (including anonymous transfer outcomes) and error monitoring, detailed in the security and privacy docs.
Three clients share one wire protocol: the web app at floe.one, a Windows desktop app, and a Go CLI. Send from a browser tab and receive in the desktop app or the CLI, or any other combination, even across different networks.
For the design behind this, see how it works and the technical reference.
Open floe.one, pick a file, and share the generated link or QR code with the receiver. No account or installation required.
The quickstart guide walks through sending and receiving your first file.
Floe for Windows 10 and 11 (x64), currently in beta. The Microsoft Store build is signed by Microsoft and updates automatically.
Prefer a direct download? An installer and a portable build are on the download page. Setup details are in the desktop installation guide.
Send and receive from terminals, servers, and scripts.
brew install --cask jannskiee/tap/floe # macOS
winget install jannskiee.floe # Windows
curl -fsSL https://floe.one/install.sh | sh # Linux and other systemsSend with floe send photo.jpg, receive with floe receive olive-tiger-castle, and update in place with floe update.
Senders in the CLI and the desktop app produce both a short code and a browser link, so the receiver can join from any client. Other install channels, checksum verification, and PATH setup are covered in the CLI installation guide.
Prefer your own infrastructure? Prebuilt images on ghcr.io bring up the full stack in two commands, with no clone and no toolchain:
curl -fsSLO https://raw.githubusercontent.com/jannskiee/floe/main/docker-compose.yml
docker compose up -dAll three clients can point at a self-hosted server. Configuration, deployment behind HTTPS, and the optional TURN relay are covered in SELF_HOSTING.md and the self-hosting docs.
The documentation covers all three clients in depth, from your first transfer to a self-hosted deployment.
The FAQ answers the questions that come up most, from transfer limits to privacy, and the troubleshooting guide starts from the symptom when something will not connect. The changelog tracks every release across web, desktop, and CLI.
Contributions are welcome. See CONTRIBUTING.md for setup instructions, environment variables, and the pull request process. If you encounter a bug or have a feature suggestion, please open an issue.
This project follows the Code of Conduct. To report a vulnerability, see SECURITY.md.
Floe is free and open source. Contributions help cover the ongoing costs of backend infrastructure that keeps the service accessible to everyone. This includes the signaling server for WebRTC connection negotiation and room management, and the TURN relay service that provides encrypted relay for users behind strict firewalls or Carrier-Grade NAT.
Floe is supported by open source sponsorship programs that donate the tools and infrastructure behind it:
- Error monitoring is generously provided by Sentry through Sentry for Good.
- Documentation is generously hosted by Mintlify through the Mintlify OSS Program.
- Development is supported by Claude through Anthropic's open source program.
Thank you to these programs for helping keep Floe sustainable as an independent open source project.
MIT License, Copyright Jan Carlo Paredes. See LICENSE for details.
Open source. Built for everyone.