ZIP - Explicit Directory Records
A ZIP that stores each directory as its own zero-length record with a trailing slash and the MS-DOS directory attribute set. Its group siblings hold the same tree with the directory records implied and with the trailing slash missing, which is the trio an extractor's mkdir logic has to survive.
- project
- src
- data
- README.txt
- main.txt
- records.csv
Specifications
- Seed
- 20260807
- Directory Records
- 3
- File Records
- 3
- Directory Convention
- zero-length member, name ends in '/', MS-DOS directory bit set
- External Attr
- 0o40755 << 16 | 0x10
Testing contract
Expected to pass- Scenario
- Extract the archive and compare the created directory tree against the two sibling archives that encode the same tree without explicit records and without the trailing slash.
- Expected result
- All three produce the identical tree: 3 directories containing 3 files, and no zero-byte file named 'project' is created.
What is a .zip file?
ZIP is a widely supported archive format that bundles multiple files and directories into one container, typically with per-file DEFLATE compression and a central directory index. It supports random access to individual entries without decompressing the whole archive. It underlies many document formats such as DOCX and EPUB.
How to use this file
Use an example ZIP to test archive extraction, central-directory parsing, per-entry decompression, and protection against path-traversal (zip-slip) during unpacking.
How to use this file for testing
“ZIP - Explicit Directory Records” is a deterministic Novus Examples fixture for Conversion testing. The same content exported across many formats and linked as a group, so you can convert one and diff against the expected twin.
Documented properties for this file: seed 20260807. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Archive fixtures are documented down to their member list (shown on this page) and are deliberately safe — no zip bombs, executables, or hidden payloads. Test extractors against nested, unicode, empty, and encrypted variants.
Code examples
unzip -l directories-explicit.zip # list members
unzip directories-explicit.zip -d out/ # extractRelated files
- zipZIP - All Members DeflateA ZIP whose every member uses compression method 8 (deflate). Its twin holds byte-identical content under the other method, so an extractor, a size estimator, or a repacking pipeline can be compared on the same payload with only the storage method changed.

- zipZIP - All Members StoredA ZIP whose every member uses compression method 0 (stored). Its twin holds byte-identical content under the other method, so an extractor, a size estimator, or a repacking pipeline can be compared on the same payload with only the storage method changed.

- zipZIP - Data Descriptor (no signature)The same streaming layout with the data descriptor's PK\x07\x08 signature omitted, which the spec permits and which breaks readers that scan for the signature instead of trusting the central directory. The central directory here carries the authoritative sizes and CRCs.

- zipZIP - Data Descriptor (with signature)A ZIP written the way a streaming writer must write one: general-purpose bit 3 is set, the local header carries CRC 0 and sizes 0, and the real values follow the compressed data in a data descriptor introduced by the optional PK\x07\x08 signature.

- zipZIP - Data Descriptor (ZIP64 8-byte fields)A streaming ZIP in ZIP64 form: the data descriptor's compressed and uncompressed sizes are 8 bytes each rather than 4. Readers that assume a fixed 16-byte descriptor desynchronise on the very next local header.

- 7z7z - LZMA2 ArchiveA 7-Zip archive using LZMA2 compression, containing a small documented file tree. For testing 7z extraction and conversion.

Generated by generation/archives_p7.py. Free for any use, no attribution required — license.