How FreeSend works

FreeSend connects two browsers to each other and lets the file flow between them. This page says plainly what that means, and where it stops.

The short version

When you press “Create a room”, your browser asks a free public matching service for a free 6-digit code. When the other person types the code, the matching service passes a few connection details between the two browsers, just enough for them to find each other. Then the two browsers open a direct, encrypted WebRTC connection and the file streams across it. The matching service is not part of the transfer.

What the matching service can see

The code, and the connection details (the technical “offers” browsers exchange to connect, which include network addresses). It never sees file names, file contents or sizes: those only travel over the direct connection. The matching service is the free public PeerJS cloud server. It is run by volunteers, has no uptime promise, and could be rate limited or go down; if it does, FreeSend cannot start new transfers until it is back.

Privacy and safety

The direct connection is encrypted with DTLS, the same encryption WebRTC video calls use. Nothing is written to a server. By default each file is also checked against the original in blocks while it arrives, so a corrupted or tampered file is rejected instead of saved as if it were fine.

The 6-digit code is short on purpose, so it is easy to read out. It works like a room key: anyone who has it can download your files while your page is open, and it stops working the moment you close the room. You can see everyone who joined and stop any download. For something truly sensitive, share the code only through a channel you trust and close the room when you are done.

Big files

The sender reads the file in small pieces from disk and the receiver writes each piece to disk as it arrives, so even a 20 GB file never sits in memory. There is no compression, so the file arrives byte for byte. FreeSend sets no size limit. What actually limits you is free disk space on the receiving device, how long both of you can keep the page open, and how fast the connection is.

Chrome and Edge on a computer save straight to the file or folder you choose. Firefox, Safari and phones first write to private browser storage and then offer a Save button, so they need free space for the file briefly twice over.

What it cannot do

  • Both people must be online at the same time. There is no storage on the way.
  • It is only as fast as the slower of the sender's upload and the receiver's download.
  • Some networks block direct browser-to-browser connections (certain offices, schools, mobile data plans, VPNs). The usual fix for that is a relay server that carries the bytes; those cost money per gigabyte, so FreeSend does not include one. If you cannot connect, try the same Wi-Fi, switch off a VPN, or use a phone hotspot.
  • A dropped connection cannot be resumed. Pause and resume work while you are connected.
  • On phones, keep the screen on and the page in front. FreeSend asks the phone to stay awake, but not every phone agrees.

Frequently asked questions

Is there a size limit?

We set none. A transfer is limited by the free space on the receiving device and by how long both people can keep their browser tabs open. Multi-gigabyte files work; very large ones just take a while on a slow connection.

Are my files uploaded to a server?

No. The files travel directly from one browser to the other. A free public matching service helps the two browsers find each other and only sees connection details, never your files or their names.

Is the transfer private?

Yes. The direct connection is encrypted end to end (WebRTC with DTLS), and the files are not stored anywhere on the way. By default FreeSend also checks every file against the original, so you know it arrived intact.

Do we both need to be online at the same time?

Yes. Nothing is stored on a server, so the sender has to keep the page open until the transfer finishes. That is the trade for not uploading anything.

How fast is it?

As fast as the slower of the sender's upload and the receiver's download. On the same Wi-Fi or network it can be very fast; across the internet it is usually limited by the sender's upload speed.

Why could the connection fail?

Some networks (certain offices, schools, mobile data plans and VPNs) block direct connections between browsers, and FreeSend does not run a relay server that could carry the files instead. Try the same Wi-Fi, turn off any VPN, or switch one of you to a phone hotspot.

Which browsers work?

Current Chrome, Edge, Firefox and Safari, on computers and phones. Chrome and Edge on a computer save the file straight to the place you pick. Other browsers save it into private browser storage while it arrives, then you tap Save, so they need free space for the file twice for a short time.

What happens if the connection drops?

The transfer stops and the partly received file is discarded. You can pause and resume while both sides stay connected, but a dropped connection cannot be resumed yet; start the transfer again.