A 100 MB ZIP test file
File info
| File Format | ZIP |
|---|---|
| File Size | 100 MB(104,857,792 bytes) |
| MIME Type | application/zip |
| MD5 | d2d43cc91f621f219d50b5f84a910883 |
| SHA-1 | 801d5b4316662f6a2028e33a83999a8e067bff66 |
| SHA-256 | dde866cdd9d1afc8e1e511228bfea08c8f8ce5b850bb85f6945ed1b65c604b8a |
Download via command line
curl -O https://devlab.itlibra.com/files/zip/zip-100mb.zip
wget https://devlab.itlibra.com/files/zip/zip-100mb.zip
Invoke-WebRequest -Uri "https://devlab.itlibra.com/files/zip/zip-100mb.zip" -OutFile "zip-100mb.zip"
About this file
A 100 MB test file in ZIP format, sized to exactly 104,857,792 bytes. Free to download with no signup, for verifying upload limits and file-handling behaviour.
The MD5, SHA-1 and SHA-256 values listed above are the real digests of this file. Recomputing them after download confirms the transfer was not corrupted, and they double as known-good expected values when testing a hashing library.
What this size means in practice
100 MB is GitHub's hard per-file push limit and also the upload cap through Cloudflare's free plan. It is likewise the point where AWS S3 recommends multipart upload instead of a single PUT.
It also exercises your timeout configuration. On a 10 Mbps link the transfer alone takes about 80 seconds, so leaving PHP's max_execution_time (default 30s) or nginx's fastcgi_read_timeout (default 60s) untouched makes the upload fail on a timeout rather than on a size check.
Getting a feel for this size
On a 10 Mbps link the transfer takes roughly 83.9 seconds, and about 8.4 seconds at 100 Mbps. Base64-encoded it grows to roughly 136,534 KB.
ZIP compression ratios differ by orders of magnitude depending on the contents: text-heavy archives expand three to five times, while already-compressed images or video barely change. Use this 100 MB archive to decide whether your disk-space checks need to account for the uncompressed size.
What to check for this format
ZIP starts with PK\x03\x04, but the listing of its contents — the central directory — lives at the end of the file. Reading only the beginning tells you nothing about the contents, and losing the tail makes extraction impossible.
- Whether you cap the total uncompressed size — a zip bomb abuses the compression ratio so that a few KB expand to gigabytes
- Whether entry names containing
../are rejected — this is the Zip Slip directory-traversal attack - Whether you can extract while streaming, or must first write the whole archive to disk
FAQ
- Is this file free to use?
- Yes — fully free and no signup required. Use it for any commercial or non-commercial test/verification purpose.
- What is inside the file?
- Dummy data generated for testing — sized to match the listed size exactly.
- What are the hash values for?
- Verify integrity after download or use them as test data for hashing libraries.