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.

Synthetic data for AI evalsWhat you can download, what you buildRAG test corpusDocuments with extraction trapsJSONL for evalsThe format, and ten ways it breaksMock API for agentsRecords, pagination, failures on demandSafe test dataReserved domains, IPs, numbers & cardsSynthetic PIIFake people that reach nobodyTest card numbersEvery brand, declines, 3D SecureTest phone numbersReserved US, UK and Australian rangesReserved IP addressesDocumentation ranges and SSRF casesExample domains.test, .invalid, example.com, and trapsQA test stringsUnicode, emoji, injection & edge casesFilename compatibilityWhat breaks across Windows, Mac & LinuxFile systemsPOSIX, NTFS, APFS, ext4, SMB, NFS, NASFile signaturesMagic numbers that identify every formatCharacter encodingsUTF-8, UTF-16, BOM & normalizationUpload validationThe checklist, with a file for each checkMIME typesThe right Content-Type for every extensionHTTP status codesEvery code and when you actually see itDates & timesISO 8601, epoch, Excel serials, DSTHTTP headersContent-Type, Disposition, Range, CORSRegex cheat sheetSyntax, flags and ready-made patternsGenerate files (CLI)Make test files on any OSCrypto & certificatesSSL/PEM, hashing, encryptionWeb app testingWhat to test, with a file for each caseDesktop app testingPaths, names, encodings and savingMobile app testingPickers, photos, flaky networksCLI testingArguments, pipes and exit codesLarge file upload testingDefault limits, 413s and exact sizes1 GB test file1 GB and 2 GB, with SHA-25610 GB test fileMake one locally in seconds