A free, private, browser-based tool for sending files directly to anyone
File Transfer is a free web application that lets you send any file directly from your browser to another person’s browser — without uploading it to any server. It works entirely in the browser using WebRTC, the same peer-to-peer technology that powers video calls in apps like Google Meet and Discord.
There is no registration, no account, and no installation required. You open the page, select your file, share a one-time key with the recipient, and the transfer begins automatically. When it’s done, the file is saved directly on the recipient’s device.
Most file-sharing services work by uploading your file to a central server and giving the recipient a download link. That means your file is stored — at least temporarily — on someone else’s infrastructure. File Transfer is different.
When you use File Transfer, your file never leaves your device to reach a server. It flows in real time, chunk by chunk, directly from your browser to the recipient’s browser. The data channel opened by WebRTC is encrypted end-to-end using DTLS (Datagram Transport Layer Security), the same standard used to secure VoIP calls and video streams.
We do not log transfers, we do not see file names or contents, and we have no way to access anything you send.
There are no size limits, no daily quotas, and no paywalls. You can transfer a 100 MB photo or a 10 GB video archive — the app handles both the same way, by streaming the file in small chunks over a direct connection.
The only practical limit is how long both browsers stay open and connected. If the connection drops, the app automatically attempts to reconnect and resume the transfer from the last successfully received chunk, so you don’t have to start over.
File Transfer is built on two core technologies:
WebRTC (Web Real-Time Communication) is an open standard built into all modern browsers. It enables browsers to establish direct peer-to-peer connections for audio, video, and arbitrary data. File Transfer uses the RTCDataChannel API to stream binary file data directly between two browsers at the fastest speed their network allows.
Establishing a WebRTC connection requires a brief handshake phase where both browsers exchange connection parameters (called ICE candidates and SDP offers). This handshake is handled by PeerJS, an open-source library that provides a simple API and a free public signaling server. Once the handshake is complete, PeerJS steps out of the way and data flows peer-to-peer.
The unique key you share with the recipient is simply your PeerJS peer ID — a randomly generated UUID (Universally Unique Identifier) that identifies your browser in the PeerJS network for the duration of the transfer.
WebRTC RTCDataChannel PeerJS DTLS encryption JavaScript HTML5
File Transfer works in any browser that supports the WebRTC standard. This includes:
Both the sender and the receiver must be using a compatible browser. Internet Explorer is not supported.
File Transfer is useful whenever you need to move a file between devices or people without uploading it to a cloud service: