Large files

1 GB test file download (and 2 GB), with a checksum to prove it arrived

Exact-size files of random bytes, streamed on demand and identical on every request, so each one has a published SHA-256. Use them for upload limits, timeouts, progress bars and storage tests. Free, no sign-up.

Download

Sizes use binary units: 1 GB here is 1,073,741,824 bytes.

FileExact sizeSHA-256
500 MB524,288,000 bytesc6a0abab76b35ae4b71cb37e37ff6bf619e3518decf9c8f8c6ed42bbb140a59b
1 GB1,073,741,824 bytesad9739061246f279a54cc65d00d1b7d4af48f8b29dc3b428b4fd42caf17c6df2
2 GB2,147,483,648 bytes1107983aeeb4314f6a98a9054c3a7b915cb3793c4043e0f95e8930f11fcc0b32

From a terminal, with a check that the file is complete:

curl -fL -o test-1gb.bin "https://gen.hexaqa.com/gen?type=bin&size=1gb"
echo "ad9739061246f279a54cc65d00d1b7d4af48f8b29dc3b428b4fd42caf17c6df2  test-1gb.bin" | sha256sum -c -

On Windows PowerShell, use curl.exe with the same arguments, then Get-FileHash test-1gb.bin -Algorithm SHA256.

A short download fails loudly. Every response carries its exact Content-Length, so if a transfer is cut off, curl exits with an error and a browser marks the download as failed, instead of saving a shorter file that looks complete.

Any other size

Change size= to anything up to 2 GB.

Units

kb, mb and gb are binary (1,024 based). A bare number is exact bytes: size=1000000000 is one billion.

A different file

Add &seed=2 (or any number) for different bytes of the same size. The same seed always gives the same file.

Up to 250 MB, stored

The size ladder holds stored files from 0 bytes to 250 MB. They support HTTP Range requests, so use them to test resumable downloads.

What is inside

Files over 1 MB are slices of a stored 250 MB block of pseudo-random bytes, repeated end to end for larger sizes, starting at a point chosen by the seed. The repeats are 250 MB apart, far beyond the 32 KB window that gzip and ZIP use, so neither can compress the file. A compressor with a very long window, such as zstd in its long mode, can find the repeat, so do not use these to benchmark compression ratios.

What to test with it

Upload limits

Proxies, frameworks and CDNs each have their own cap, and the first one hit decides the error. Large file upload testing lists the defaults.

Timeouts

A slow connection turns a fine 1 GB upload into one that outlives a load balancer's idle timeout. Test on a throttled network, not just the office line.

Progress and cancel

The progress bar should move smoothly, reach 100% only when the server confirms, and cancelling should stop the transfer, not just hide it.

Download speed

For measuring a connection rather than testing an app, see download speed test files.

Questions

Where can I download a 1 GB test file?

From gen.hexaqa.com/gen?type=bin&size=1gb: exactly 1,073,741,824 bytes of random data, with its SHA-256 published above.

Is 1 GB 1,000,000,000 bytes or 1,073,741,824?

Here it is 1,073,741,824 (a gibibyte). For one billion bytes, use size=1000000000.

Can I resume an interrupted download?

Not for generated files. The stored files up to 250 MB support range requests.

Why random data rather than zeros?

Zeros compress and deduplicate to almost nothing, which makes transfers and storage look better than they are.

Can I get a file larger than 2 GB?

Not as one download. See 10 GB test files for making one locally.

Keep going

Large file upload testing 10 GB test file → Generator →

More from Learning

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