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.

10 MB100 MB500 MB1 GB2 GB

12 ready-made large file test files

FileSizeWhat it catchesDownload
0b.bin0 bytesZero-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.bin1 bytesOne byte. Catches off-by-one buffer maths and code that treats a 1-byte read as EOF.download
512b.bin512 bytesUpload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth.download
1kb.bin1.0 KBUpload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth.download
10kb.bin10.0 KBUpload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth.download
100kb.bin100 KBUpload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth.download
1mb.bin1.0 MBUpload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth.download
5mb.bin5.0 MBUpload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth.download
10mb.bin10.0 MBUpload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth.download
50mb.bin50.0 MBUpload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth.download
100mb.bin100 MBCrosses 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.bin250 MBLarge 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.

Other formats

Sample GeoJSON, GPX and KML filesSample HTML, CSS and JS filesSample EML and MSG email filesSample EPUB fileSample PSD, DXF, STL and OBJ filesSample 7z, TAR and GZIP filesSample CSV fileSample JSON file