FilePizza vs tosstome
FilePizza and tosstome both send files over WebRTC without storing them. FilePizza is built around a link you hand to someone; tosstome is built around devices finding each other, plus an inbox that is always on.
How FilePizza works
From the FilePizza README (checked 2026-10-28): files go "directly from your browser to the downloader's browser" and "never pass through our servers". The uploader has to "leave their browser window open until the transfer is complete", and closing it means "the URLs for your files will no longer work". Transfers are encrypted by WebRTC (DTLS), and an optional password can be added.
Side by side
| FilePizza | tosstome | |
|---|---|---|
| How you connect | Share a link | Nearby list, 6-digit code, or inbox link |
| One sender, many downloaders | Yes | No, one device to one device |
| Password | Optional | Inbox links carry a secret key |
| When a direct connection fails | Depends on the instance's TURN setup | Falls back to a relay on Cloudflare |
| Receive on a headless computer | No | Yes, tosstome listen |
| Files stored | No | No |
Which one to use
FilePizza is the better fit for handing one file to several people with a link. tosstome is the better fit for moving files between your own devices, especially from a phone to a computer.
What tosstome does
- Runs in the browser. Nothing to install on the sending side.
- Devices on the same network see each other automatically. On different networks, one device shows a 6-digit code and the other types it in.
- Files go device to device over WebRTC when the networks allow it. If a direct connection does not come up within a few seconds, they go through a relay on Cloudflare that forwards the bytes and keeps nothing.
- An optional command line tool,
tosstome listen, keeps an always-on inbox on a computer. It prints a link and QR code; open it on a phone and files land in a folder on that computer, with no browser open on the computer side. - Text messages and links travel the same way as files, with a Copy button on the receiving side.
- Nothing is stored. If the receiver is offline, nothing is sent.
What tosstome does not do (yet)
- The relay is protected by TLS between each device and Cloudflare, but it is not end-to-end encrypted yet. Direct WebRTC transfers are encrypted end to end by the browser (DTLS).
- A receiving browser keeps the file in memory until you save it, so very large files are better received with the command line tool, which writes straight to disk.
- Both sides must be online at the same time. There is no "upload now, download tomorrow".
- It is new. Browser-side device pairing and end-to-end encryption on the relay are still being built.
Last checked 2026-10-28.