Skip to content
Direct
How it works
Appearance
Accent

Kept on this device. The accent is the only colour the interface spends, so changing it changes nothing else.

Where it runs

Compatibility

Sending works almost anywhere. Receiving very large files does not, and the reason is worth understanding before you rely on it.

#This browser

Checking…

#Why receiving is the harder half

Sending is straightforward: the file is already on your disk, and we read it in small pieces as it goes out. Any modern browser can do that at any size.

Receiving needs somewhere to put the bytes as they arrive. The traditional approach — collect the whole file in memory, then hand it over — works fine for a photo and falls apart at 40 GB. Writing each piece to disk as it arrives requires the File System Access API, which Chromium-based browsers have and others currently do not.

#Where it stands today

Chrome, Edge, Opera and other Chromium browsers on desktop can receive transfers up to 100 GB, and can be handed a folder to put a whole batch into with one dialog.

Firefox and Safari can send any size, and receive up to 268 MB in total. Above that the page declines the transfer instead of attempting it and crashing the tab. A multi-file transfer arrives as separate downloads rather than into a folder you choose.

Mobile browsers can send and receive smaller files. Phones suspend background tabs aggressively, which will interrupt a long transfer, so they are not a good fit for large ones.

#Leaving the browser pauses it

On a phone, switching to another app freezes the page, and the transfer stops until you come back. It picks up where it left off rather than failing, but it makes no progress while you are away. Leave the tab in front for the whole transfer.

This is not something we can code around. Mobile browsers suspend background pages deliberately, and there is no web API that exempts a transfer from it — a background worker does not survive it either. While a transfer is running we hold the screen awake, so the display switching off will not interrupt it.

On desktop it is less strict: another tab in front, or the window minimised, is fine. The machine going to sleep is not.

Running through a backgrounded app needs a native application rather than a web page, which is what the mobile client is for.

#Networks matter too

A direct connection has to get through whatever sits between the two devices. Home and most office networks are fine. Strict corporate firewalls and some mobile carriers block peer-to-peer traffic entirely, and no browser choice will work around that.

When it cannot connect, the page says so rather than hanging. Trying from a different network is usually the fastest fix.