Large test files (1 KB to 2 GB): free download
What is a large test file for?
A large test file checks the limits that only size reveals: upload caps, timeouts, progress reporting, memory use and resumable downloads. Its content is usually random or zero bytes. What matters is the exact size, and a published checksum that proves the file arrived intact.
Stored files from 0 bytes to 250 MB, and exact sizes up to 2 GB streamed on demand. Every response carries its exact Content-Length, so an interrupted download fails loudly instead of leaving a shorter file that looks complete. Use them for upload limits, progress bars, timeouts and resumable downloads: the stored files support HTTP Range requests.
Need a specific size?
Streamed on demand with an exact Content-Length: nothing stored, no signup, any size up to 2 GB.
12 ready-made large file test files
| File | Size | What it catches | Download |
|---|---|---|---|
| 0b.bin | 0 bytes | Zero-byte file. The single most under-tested upload case: many validators check the MIME type and extension but never assert size > 0, so an empty file passes and breaks downstream processing. | download |
| 1b.bin | 1 bytes | One byte. Catches off-by-one buffer maths and code that treats a 1-byte read as EOF. | download |
| 512b.bin | 512 bytes | Upload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth. | download |
| 1kb.bin | 1.0 KB | Upload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth. | download |
| 10kb.bin | 10.0 KB | Upload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth. | download |
| 100kb.bin | 100 KB | Upload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth. | download |
| 1mb.bin | 1.0 MB | Upload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth. | download |
| 5mb.bin | 5.0 MB | Upload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth. | download |
| 10mb.bin | 10.0 MB | Upload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth. | download |
| 50mb.bin | 50.0 MB | Upload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth. | download |
| 100mb.bin | 100 MB | Crosses the default body limit of most reverse proxies. Nginx defaults to client_max_body_size 1m, so anything above that needs explicit configuration. | download |
| 250mb.bin | 250 MB | Large enough to force multipart or chunked upload paths and to make timeout configuration visible. | download |
Every file is generated from source (no third-party copyright) and each has its own page with a published SHA-256 you can verify after download.
Questions
Where can I download a large file for upload testing?
Pick a size from the ladder below, or use a generator link for 500 MB, 1 GB or 2 GB. Nothing is stored for the generated ones: the bytes are streamed as you download.
Do you have a 1 GB test file?
Yes: 1 GB and 2 GB are streamed on demand, with published SHA-256 digests on the 1 GB test file page. Stored files stop at 250 MB; larger sizes are served in slices from a stored block of random data.
Can I resume a partial download?
Yes. The file host supports Range requests, so resumable and chunked downloads work and can be tested directly.
Is there a zero-byte file?
Yes, exactly 0 bytes. It is the fastest way to find upload validators that check MIME type but never check size > 0.