Large files

Download speed test files, and how to read the result

Files of random, incompressible data from 10 MB to 2 GB, for measuring throughput from a terminal or a browser. The smaller ones are served from Cloudflare's cache at the data centre nearest you.

The files

SizeServed fromGood for
10 MBEdge cacheSlow or mobile connections
100 MBEdge cacheMost home and office connections
250 MBEdge cacheFast connections; supports range requests
1 GBStreamed from storageSustained transfers and gigabit links
2 GBStreamed from storageLong-running transfers

Measure it

curl reports the average rate itself; nothing is saved to disk.

# macOS and Linux
curl -o /dev/null -s -w "%{speed_download} bytes/s in %{time_total}s\n" https://files.hexaqa.com/size/100mb.bin

# Windows (PowerShell or Command Prompt)
curl.exe -o NUL -s -w "%{speed_download} bytes/s in %{time_total}s\n" https://files.hexaqa.com/size/100mb.bin

Divide bytes per second by 125,000 for megabits per second, the unit providers advertise. 12,500,000 bytes/s is 100 Mbit/s.

Reading the number

Use a big enough file

A connection ramps up over the first seconds. If the download takes under ten seconds, use the next size up.

Run it three times

The first request for a file may come from further away before the nearest data centre has cached it. Take the median of several runs.

It is your path, not a website

The result is your connection to Cloudflare's nearest data centre. A slow site elsewhere can still be slow for reasons on its side.

Random bytes on purpose

Zeros can be compressed in transit and flatter the result. These files are random, so the rate is the real one.

Testing an app rather than a connection?

To see how your own software behaves with a slow or broken download, the generator can throttle a transfer (/slow?bps=50000), cut it off half way while promising the full length (/truncate), or omit the length entirely (/no-content-length). See the generator for all of them, and large file upload testing for the other direction.

Questions

How do I test my download speed with a file?

Run curl -o /dev/null -s -w "%{speed_download}" URL on a file of 100 MB or more, several times.

Why is the result lower with a small file?

The connection is still speeding up when a small file finishes. Use 100 MB or more on a fast link.

What does a download speed test measure?

Your whole path to the server, here Cloudflare's nearest data centre, not any particular website.

Why random data?

Compressible data can arrive faster than the real bandwidth allows. Random bytes cannot be compressed.

Keep going

1 GB test file Size ladder → Range requests →

More from Learning

Guides and references for test data, file handling and AI evals. All free, no sign-up. See the full hub.