What I wanted to know
Share encrypts files in the browser, and Safari is the hardest browser for very large files. I wanted to know whether Safari could send and receive a 100 GB file without its memory falling over.
100 GB is the most a paid personal plan will hold. The API and MCP tier, for businesses and AI agents, is set at 250 GB. Share is still in pre-alpha, and nobody outside the project uses it yet.
Equipment
- A MacBook on macOS 26.6.2, with Safari, Brave, Firefox and Chrome. Downloads were written over USB-C to an external SSD.
- An iPhone 13 mini (Safari) and a Pixel 9a (Vanadium, on GrapheneOS).
- A home cable line: about 547 Mbps down and 53 Mbps up without a VPN.
- Mullvad VPN on throughout: single-hop on the Mac, multi-hop with DAITA on the phones. A VPN slows every connection, so these runs are slower than the line allows.
What happened
In mid-September, uploads failed before they reached 1 GB. I redesigned how Share uploads, and on 24–25 September Safari sent its first 100 GB file, in 5 hours 35 minutes.
On 24 September I also started a 250 GB upload in Brave. I stopped it by hand the next day, having run out of time before flying to btc++ in Berlin, and didn't note how far it had got.
Downloads were the harder half. The live page built the whole file in the browser's memory before saving it, which can't work at 100 GB. On 10 October a new download method, run from a test page rather than the live site, saved the 100 GB file in Safari in 1 hour 38 minutes, byte-exact.
Results
| Date | Browser | Size | Result |
|---|---|---|---|
| Uploads | |||
| 16–21 Sep | Browser | Under 1 GB | Failed |
| 23 Sep | Brave, Mac | 5 GB | Complete |
| 24–25 Sep | Safari, Mac | 100 GB | Complete |
| 24–25 Sep | Brave, Mac | 250 GB | Stopped |
| 26 Sep | Safari, Mac | 100 GB | Complete |
| Downloads · test page | |||
| 10 Oct | Safari, Mac | 100 GB | Byte-exact |
| 10 Oct | Chrome, Mac | 5 GB | Byte-exact |
| 10 Oct | Firefox, Mac | 5 GB | Byte-exact |
| 10 Oct | Firefox, Mac, 3-min pause | 5 GB | Byte-exact |
| 10 Oct | Safari, iPhone 13 mini | 5 GB | Byte-exact |
Byte-exact: a SHA-256 hash of the saved file matched one taken of the original before upload. Sizes are binary: 100 GB here is 100 GiB, or 107.4 billion bytes. Times and speeds are in the full results.
Safari's memory while 100 GB downloaded (GB)
Before release
On 14 October, before a release, ordinary transfers passed on the live site in Safari, Firefox and Chrome on the Mac, Safari on the iPhone and Vanadium on the Pixel, with the VPN on and off. The server's 842 automated tests passed the same day.
Not done yet
- No 250 GB transfer has finished. That tier hasn't been fully scoped yet. When it runs, I'll publish the result, whichever way it goes.
- The new download method isn't on the live site yet. Until it is, very large downloads in Safari and Firefox aren't something to rely on.
- Still to run: a download on the Pixel, an iPhone download with the screen locked, and 100 GB downloads in Firefox and Chrome.
- One person on one home line is not a lab. These runs say nothing about other networks or many people sending at once.
Refueler Share
Encrypted file transfer. No account required. Free for transfers up to 4 GB.
Try it →