Peer-to-peer transfer

Send files peer-to-peer, no size limit

Files go straight from one device to the other over a direct connection. Nothing is uploaded to a server, so there's no size limit.

Peer-to-peer file transfer sends a file straight from one browser to another over a direct WebRTC connection, the same idea as AirDrop or Snapdrop, except it works between any two devices with a browser: Windows, Mac, Linux, Android, or iPhone.

  • No file size limit, the file never passes through a server.
  • No account and nothing to install, just open the page and scan a QR code.
  • Encrypted in transit end to end, the same way AirDrop encrypts a connection.
  • Both devices need to be online at the same time. To send to someone later, use Server upload instead.

How it works

  1. 1. Choose a file to send

    Pick the file on the Send tab. There's no size limit, it never touches a server.

  2. 2. Scan the QR code on the other device

    A QR code and a plain link both appear. Scan it with the receiving device's camera, or just tap the link.

  3. 3. Wait for the direct connection

    The two devices exchange a brief connection handshake and then connect directly to each other.

  4. 4. The file transfers directly

    Once connected, the file streams straight from one device to the other and saves automatically.

Frequently asked questions

No. The file goes directly from one browser to the other over a peer-to-peer connection. Only a tiny connection handshake, never the file itself, passes through our server, so there's no file size limit.

Two browsers can't find each other on their own. Scanning the code (or tapping the link it encodes) tells your device where to connect, then the two devices talk directly.

No, this works across networks and across the internet, as long as both devices can establish a direct connection. On some strict corporate or mobile networks that block this, the transfer will fail with a clear message, try a different network or use a regular upload link instead.

The transfer stops. Since nothing is ever stored on a server, there's no partial upload to resume, both sides need to be connected for the whole transfer.