Sample ZIP Files — Download Test Archives (Small, Medium, Large, Empty, Nested)
ZIP archive · .zip · MIME type application/zip
Download a sample ZIP file that matches the case you need to test: three sizes of archive containing real images, documents, audio and data from this site; an empty ZIP with zero entries; a nested ZIP containing ZIPs two levels deep; a ZIP with 100 small files; and a ZIP stored without compression. Entry counts and compression methods are listed for each.
ZIP is the universal container — DOCX, XLSX, EPUB, JAR and APK are all ZIPs — and the most common compressed upload. Extraction code has to handle empty archives, deep nesting, many entries and unusual compression methods gracefully; these files cover each of those without being malicious.
Download sample ZIP files
| File | Details | Size | Download |
|---|---|---|---|
sample-archive-empty.zip | 0 entries | 22 B | |
sample-archive-nested.zip | 3 entries | 1 KB | |
sample-archive-100-files.zip | 100 entries | 35 KB | |
sample-archive-small.zip | 7 entries | 745 KB | |
sample-archive-stored-uncompressed.zip | 6 entries | 801 KB | |
sample-archive-medium.zip | 5 entries | 2.9 MB | |
sample-archive-large.zip | 23 entries | 5.6 MB |
Use these files from the command line or CI
Every URL is stable and CORS-open. Pin the SHA-256 in your test and you will know the moment a fixture changes.
# Download one file curl -O https://pnb-website-bucket.s3.us-east-2.amazonaws.com/samples/archives/zip/sample-archive-empty.zip # Verify it (SHA-256 is listed for every file above) shasum -a 256 sample-archive-empty.zip # Machine-readable index of every sample file curl https://pnb-website-bucket.s3.us-east-2.amazonaws.com/samples/index.json | jq '.files[] | select(.format=="zip")'
ZIP format at a glance
| Full name | ZIP archive |
|---|---|
| Extensions | .zip |
| MIME type | application/zip |
| Standard | PKWARE APPNOTE; ISO/IEC 21320-1 |
| Compression | DEFLATE (stored variant uses none) |
| Structure | All entries under pine-birch-samples/, no absolute paths or traversal |
| Magic bytes | 50 4B 03 04 ("PK"); empty ZIP is 50 4B 05 06 |
What people test with sample ZIP files
- Extraction services and 'upload a ZIP' features
- Empty-archive and zero-entry edge cases
- Nested-archive recursion limits
- Many-entry performance
- Compression-method support (stored vs deflated)
Frequently asked questions
Are any of these zip bombs?
No. The nested file contains two tiny ZIPs; the 100-file archive holds 100 small text files; the large archive expands to roughly the size shown. Nothing expands disproportionately. They test correctness, not resource exhaustion.
Why is the empty ZIP 22 bytes?
That is the size of a ZIP end-of-central-directory record with no entries — the minimum valid ZIP. Many tools reject it; whether yours should is a product decision, and this file lets you make it deliberately.
Are these ZIP files safe to download?
Yes. Every file is generated by our own open script from scratch — nothing is scraped or user-uploaded — and contains no scripts, macros or executables. The SHA-256 of each file is published on this page so you can verify what you received.
Can I use the sample ZIP files commercially?
Yes. They are free for any purpose, including commercial products, test suites, demos and redistribution, with no attribution required. There is nothing to license and no one to ask.
Can I hotlink these files or use them in CI?
Yes. Every link is a stable direct URL over HTTPS with Access-Control-Allow-Origin: * and long cache headers, so curl, wget, fetch() and test runners can pull them directly. A JSON index of every file is linked from each page (see the command-line section).
Related sample files
Testing a file pipeline? We build them.
Uploads, conversions, previews, document processing and media workflows are the kind of production systems Pine & Birch designs and runs for clients — which is why we needed these files in the first place.
See how we can help