Skip to content
Novus Examples

Archives

Archives are where extractors meet their edge cases, so this category is built to exercise them. The ZIP set runs flat, nested, and deep-tree layouts, a unicode-filename archive, a zero-entry empty archive, and a hundred-tiny-files archive for stress-testing throughput. Tarballs ship uncompressed and as gzip, bzip2, and xz variants (.tar, .tgz, .tbz2, .txz), with single-file gzip, bzip2, and xz alongside so you can isolate the codec from the container. There's a resource JAR, a real ISO 9660 disk image, and a 7z archive plus a password-protected 7z with the password printed right on the page. Every archive is deterministic, documented down to its member list, and deliberately safe — no zip bombs, no executables, no hidden payloads.

Filter archives on Browse · 131 files · 28 subcategories

131 of 131 files

Bundle

Preview of Dataset Bundle (ZIP)
zip
1018 B
Actual file preview for Dataset Bundle (ZIP)

Dataset Bundle (ZIP)

A dataset bundle ZIP — a CSV with its JSON Schema, a README, and a LICENSE — the way datasets are commonly distributed. For testing unpack-and-validate pipelines and dataset importers.

File
ZIP · Bundle · 4 members

Bundles

Compressed

Preview of BZ2 - Bzip2 Single File
bz2
336 B
Actual file preview for BZ2 - Bzip2 Single File

BZ2 - Bzip2 Single File

A single text file compressed with bzip2 — the container-free codec on its own, for testing decompression and codec detection.

File
BZ2 · Compressed · bzip2
Preview of GZ - Gzip Single File
gz
305 B
Actual file preview for GZ - Gzip Single File

GZ - Gzip Single File

A single text file compressed with gzip — the container-free codec on its own, for testing decompression and codec detection.

File
GZ · Compressed · gzip
Preview of XZ - XZ Single File
xz
380 B
Actual file preview for XZ - XZ Single File

XZ - XZ Single File

A single text file compressed with xz/LZMA — the container-free codec on its own, for testing decompression and codec detection.

File
XZ · Compressed · xz/LZMA

Compression

Preview of LZ4 — Single File
lz4
246 B
Actual file preview for LZ4 — Single File

LZ4 — Single File

A text file compressed with the LZ4 frame format (.lz4) — the container-free codec on its own — for testing LZ4 decompression and codec detection.

File
LZ4 · Compression · lz4

Disk Image

Preview of ISO - 9660 Disk Image
iso
68 KB
Actual file preview for ISO - 9660 Disk Image

ISO - 9660 Disk Image

A real ISO 9660 disk image with Joliet and Rock Ridge extensions for long filenames, holding a few documented text files. For testing ISO mounting, extraction, and conversion.

File
ISO · Disk Image · 3 members

Empty

Preview of AR - Empty Archive (magic only)
ar
8 B
Actual file preview for AR - Empty Archive (magic only)

AR - Empty Archive (magic only)

The smallest valid archive in this catalog: the 8-byte ar magic and nothing after it. ar has no trailer record, so end-of-file is the only end marker, and this is what an empty static library or an empty .deb control archive looks like on disk.

File
AR · Empty · 0 members
Use case
Conversion testingError handling· Conversion set
Preview of CPIO - Empty Archive (trailer only)
cpio
124 B
Actual file preview for CPIO - Empty Archive (trailer only)

CPIO - Empty Archive (trailer only)

An empty cpio archive is a single TRAILER!!! header record - a full 110-byte newc header with every numeric field zero - plus its alignment padding. Readers that look for member data before checking the name find none and must still report a valid, empty archive.

File
CPIO · Empty · 0 members
Use case
Conversion testingError handling· Conversion set
Preview of TAR - Empty Archive
tar
1 KB
Actual file preview for TAR - Empty Archive

TAR - Empty Archive

An empty tar is not a zero-byte file - it is exactly two 512-byte blocks of zeros, the end-of-archive marker with nothing in front of it. Writers that emit nothing at all produce a file most readers reject, which is the bug this 1024-byte file exists to distinguish.

File
TAR · Empty · 0 members
Use case
Conversion testingError handling· Conversion set
Preview of TBZ2 - Empty Archive
tbz2
42 B
Actual file preview for TBZ2 - Empty Archive

TBZ2 - Empty Archive

The empty tar under bzip2. Its payload is 1024 identical bytes, which is the run-length case bzip2's block sorter treats specially, so this doubles as the smallest sane bzip2 stream to test a decoder against.

File
TBZ2 · Empty · 0 members
Use case
Conversion testingError handling+1· Conversion set
Preview of TGZ - Empty Archive
tgz
29 B
Actual file preview for TGZ - Empty Archive

TGZ - Empty Archive

The empty tar wrapped in gzip, which is what `tar czf` produces from an empty directory. The gzip header and trailer are still there and still have to parse, so this separates 'cannot read the codec' from 'read the codec and found nothing inside'.

File
TGZ · Empty · 0 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Empty Archive With a Comment
zip
150 B
Actual file preview for ZIP - Empty Archive With a Comment

ZIP - Empty Archive With a Comment

A valid ZIP with zero members whose end record still carries an archive comment - the combination that catches readers which treat 'no entries' as 'not an archive' and readers which look for the end record only in the last 22 bytes. Its group siblings are the same empty case in five other container formats.

File
ZIP · Empty · 0 members
Use case
Conversion testingError handling· Conversion set

Exports

Preview of GDPR Sample Data Export (ZIP)
zip
884 B
Actual file preview for GDPR Sample Data Export (ZIP)

GDPR Sample Data Export (ZIP)

A small ZIP shaped like a GDPR subject-access export — profile JSON, activity CSV, consents JSON, and a README. All PII is fictional SAMPLE data.

File
ZIP · Exports · 4 members

Nested

Nested Mixed

Preview of JAR With a Nested Library JAR
jar
1.3 KB
Actual file preview for JAR With a Nested Library JAR

JAR With a Nested Library JAR

The nested-JAR layout an executable fat jar uses: a manifest with a Class-Path entry and a second JAR stored uncompressed under BOOT-INF/lib so it can be read in place without being extracted first. It contains resources only - properties, JSON and text, no compiled bytecode - and the manifest uses the CRLF line endings the JAR specification requires.

File
JAR · Nested Mixed · 4 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of TAR Containing Three ZIP Archives
tar
5.5 KB
Actual file preview for TAR Containing Three ZIP Archives

TAR Containing Three ZIP Archives

A tar carrying three ZIPs: two byte-identical and a third holding the same content stored rather than deflated. A deduplicating packer should notice the first two are the same object; a content-addressed one should notice all three extract to the same files.

File
TAR · Nested Mixed · 4 members
Use case
Conversion testingCompression testing· Conversion set
Preview of TGZ Containing a TGZ
tgz
634 B
Actual file preview for TGZ Containing a TGZ

TGZ Containing a TGZ

A gzipped tar whose second member is another gzipped tar. Tools that apply decompression greedily - gunzip until the bytes stop being gzip - skip straight past the outer tar and report the inner archive's two members as if they were the whole thing.

File
TGZ · Nested Mixed
Use case
Conversion testingCompression testing· Conversion set
Preview of ZIP Containing tar, tgz, txz and tbz2
zip
2.3 KB
Actual file preview for ZIP Containing tar, tgz, txz and tbz2

ZIP Containing tar, tgz, txz and tbz2

One ZIP holding the same two-member tar in four containers - plain, gzip, xz and bzip2 - so a recursive lister can be checked on four codecs in one pass. The already-compressed members are stored rather than deflated, which is what a competent writer does and what a naive one does not.

File
ZIP · Nested Mixed · 5 members
Use case
Conversion testingCompression testing· Conversion set

P8 Convert

Preview of Convert v2 Archive Member Manifest
json
371 B
Actual file preview for Convert v2 Archive Member Manifest

Convert v2 Archive Member Manifest

JSON ground-truth manifest for the canonical compressed-TAR twins, publishing each safe path, byte count, and full SHA-256 digest. Stable P8 artifact p8-convert-archive-member-manifest.

File
JSON · P8 Convert · 2 members
Use case
Conversion testingSchema validation· Conversion set
Preview of Convert v2 Archive SHA-256 List
txt
169 B
Actual file preview for Convert v2 Archive SHA-256 List

Convert v2 Archive SHA-256 List

GNU-style SHA-256 list for the two canonical TAR members, preserving relative paths and full lowercase digests. Stable P8 artifact p8-convert-archive-sha256.

File
TXT · P8 Convert · 2 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of Convert v2 Archive-Media ZIP Control
zip
277 B
Actual file preview for Convert v2 Archive-Media ZIP Control

Convert v2 Archive-Media ZIP Control

Existing-format ZIP/TXT media control combining a plain README and a WebVTT sidecar for nested media extraction checks Stable P8 artifact p8-convert-legacy-archive-media-control.

File
ZIP · P8 Convert · 2 members
Use case
Conversion testingCompression testing· Conversion set
Preview of Convert v2 TAR.ZST Source 01
tar.zst
157 B
Actual file preview for Convert v2 TAR.ZST Source 01

Convert v2 TAR.ZST Source 01

Valid Zstandard-compressed TAR source 01 with 2 safe members for compound-suffix detection and extraction Stable P8 artifact p8-convert-tar-zst-01.

File
TAR.ZST · P8 Convert · 2 members
Use case
Conversion testingCompression testing· Conversion set
Preview of Convert v2 TAR.ZST Source 02
tar.zst
176 B
Actual file preview for Convert v2 TAR.ZST Source 02

Convert v2 TAR.ZST Source 02

Valid Zstandard-compressed TAR source 02 with 2 safe members for compound-suffix detection and extraction Stable P8 artifact p8-convert-tar-zst-02.

File
TAR.ZST · P8 Convert · 2 members
Use case
Conversion testingCompression testing· Conversion set
Preview of Convert v2 TAR.ZST Source 03
tar.zst
138 B
Actual file preview for Convert v2 TAR.ZST Source 03

Convert v2 TAR.ZST Source 03

Valid Zstandard-compressed TAR source 03 with 2 safe members for compound-suffix detection and extraction Stable P8 artifact p8-convert-tar-zst-03.

File
TAR.ZST · P8 Convert · 2 members
Use case
Conversion testingCompression testing· Conversion set
Preview of Convert v2 TBZ2 Alias
tbz2
207 B
Actual file preview for Convert v2 TBZ2 Alias

Convert v2 TBZ2 Alias

Alias-suffix twin for the same deterministic bzip2-compressed TAR member set Stable P8 artifact p8-convert-tbz2-alias.

File
TBZ2 · P8 Convert · 2 members
Use case
Conversion testingCompression testing· Conversion set
Preview of Convert v2 ZIP Extraction Control
zip
298 B
Actual file preview for Convert v2 ZIP Extraction Control

Convert v2 ZIP Extraction Control

Existing-format ZIP extraction control for comparing member-path and hash behavior with the compressed-TAR cohort Stable P8 artifact p8-convert-zip-extraction-control.

File
ZIP · P8 Convert · 2 members
Use case
Conversion testingCompression testing· Conversion set
Preview of TAR.ZST — intentionally corrupt frame header
tar.zst
157 B
Actual file preview for TAR.ZST — intentionally corrupt frame header

TAR.ZST — intentionally corrupt frame header

Tiny intentionally corrupt TAR.ZST with preserved Zstandard magic and a deliberately damaged frame-header byte so strict decompressors reject it before extraction Stable P8 artifact p8-convert-tar-zst-intentionally-corrupt.

File
TAR.ZST · P8 Convert · 2 members
Use case
Conversion testingCompression testing· Conversion set

Project

Preview of Static Website Project (ZIP)
zip
1.4 KB
Actual file preview for Static Website Project (ZIP)

Static Website Project (ZIP)

A realistic static-website project bundled as a ZIP — index.html with linked CSS, JS, and an SVG logo, plus a README. For testing project extraction, unpack-then-serve pipelines, and nested-folder handling.

File
ZIP · Project · 5 members

Sevenzip

Preview of 7z - LZMA2 Archive
7z
712 B
Actual file preview for 7z - LZMA2 Archive

7z - LZMA2 Archive

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

File
7Z · Sevenzip · 4 members
Preview of 7z - Password Protected
7z
651 B
Actual file preview for 7z - Password Protected

7z - Password Protected

A password-protected 7z archive (AES-256, encrypted header). The password is “novus-example” — printed here on purpose so you can test encrypted-archive extraction. Contains only harmless sample text.

File
7Z · Sevenzip · 3 members

Tar Format

Preview of TAR - GNU Format
tar
10 KB
Actual file preview for TAR - GNU Format

TAR - GNU Format

GNU tar's extension of the same header, identified by its own magic: long names get their own 'L' record, oversized numeric fields switch to base-256, and sparse files get an in-header map. All three archives in this group hold byte-identical members with identical ownership and modification times, so any other difference a reader reports between them comes from the header encoding alone.

File
TAR · Tar Format · 3 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of TAR - GNU Long Name Record
tar
10 KB
Actual file preview for TAR - GNU Long Name Record

TAR - GNU Long Name Record

A 125-character path whose long component contains no slash at all, so the USTAR prefix field cannot store it. This archive uses a preceding 'L' (GNUTYPE_LONGNAME) record whose payload is the full path. Its group siblings encode the same class of path with the other two mechanisms.

File
TAR · Tar Format · 2 members
Use case
Conversion testingError handling· Conversion set
Preview of TAR - PAX Format
tar
10 KB
Actual file preview for TAR - PAX Format

TAR - PAX Format

The 2001 POSIX format: anything the classic header cannot express moves into an 'x' extended header of UTF-8 key=value records placed immediately before the member it describes. Here each member carries atime and ctime records, which is why this archive is structurally different from its USTAR twin rather than byte-identical to it. All three archives in this group hold byte-identical members with identical ownership and modification times, so any other difference a reader reports between them comes from the header encoding alone.

File
TAR · Tar Format · 3 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of TAR - PAX Global Extended Header
tar
10 KB
Actual file preview for TAR - PAX Global Extended Header

TAR - PAX Global Extended Header

A PAX 'g' global extended header leads the stream, carrying archive-wide key=value records including a vendor-prefixed pair. Readers must apply it to every following member and must not list it as a file - a mistake that shows up as a phantom entry named 'pax_global_header'.

File
TAR · Tar Format · 3 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of TAR - PAX Path Header
tar
10 KB
Actual file preview for TAR - PAX Path Header

TAR - PAX Path Header

A 125-character path whose long component contains no slash at all, so the USTAR prefix field cannot store it. This archive uses a preceding 'x' extended header carrying a path= record in UTF-8. Its group siblings encode the same class of path with the other two mechanisms.

File
TAR · Tar Format · 2 members
Use case
Conversion testingError handling· Conversion set
Preview of TAR - PAX UTF-8 Member Names
tar
10 KB
Actual file preview for TAR - PAX UTF-8 Member Names

TAR - PAX UTF-8 Member Names

PAX is the only tar variant that says what encoding its names are in: extended-header records are UTF-8 by definition. These three members carry accented Spanish and Japanese path components, so a reader that applies a locale-dependent guess instead of trusting the format produces mojibake on exactly this file.

File
TAR · Tar Format · 3 members
Use case
Conversion testingEncoding detection· Conversion set
Preview of TAR - USTAR Format
tar
10 KB
Actual file preview for TAR - USTAR Format

TAR - USTAR Format

The 1988 POSIX format: 512-byte headers, octal numeric fields, names split across a 155-byte prefix and a 100-byte name, and no mechanism at all for anything that does not fit - including the access and change times its siblings carry. All three archives in this group hold byte-identical members with identical ownership and modification times, so any other difference a reader reports between them comes from the header encoding alone.

File
TAR · Tar Format · 3 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of TAR - USTAR Prefix-Split Path
tar
10 KB
Actual file preview for TAR - USTAR Prefix-Split Path

TAR - USTAR Prefix-Split Path

A 141-character path stored the only way plain USTAR can store one: split at a slash across the header's 155-byte prefix field and its 100-byte name field. Readers that ignore the prefix field report the truncated tail and write the file to the wrong place.

File
TAR · Tar Format · 2 members
Use case
Conversion testingError handling· Conversion set

Tar Records

Preview of TAR - Directory Members and an Empty Directory
tar
10 KB
Actual file preview for TAR - Directory Members and an Empty Directory

TAR - Directory Members and an Empty Directory

Three directory records with distinct modes, one of which - tree/empty/ - has no members underneath it and therefore exists only because the record does. A reader that synthesises directories from member paths alone silently loses it, and loses the 0750 and 0700 modes on the other two.

File
TAR · Tar Records · 5 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of TAR - FIFO and Device Node Records
tar
10 KB
Actual file preview for TAR - FIFO and Device Node Records

TAR - FIFO and Device Node Records

A FIFO, a character device and a block device, each a header with no data blocks and with the device numbers in the devmajor/devminor fields. Unprivileged extraction cannot create the two device nodes, so the correct behaviour is to skip them with a warning rather than to abort the whole archive or to create empty regular files in their place.

File
TAR · Tar Records · 4 members
Use case
Conversion testingError handling+1· Conversion set
Preview of TAR - Hard Link Member
tar
10 KB
Actual file preview for TAR - Hard Link Member

TAR - Hard Link Member

share/backup/records.csv is a hard link to a member that appears earlier in the stream, so its content is stored exactly once. Order matters: a reader that extracts members out of sequence, or that copies content instead of linking, changes both the on-disk byte count and the inode relationship the archive is describing.

File
TAR · Tar Records · 3 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of TAR - Large UID/GID (GNU base-256)
tar
10 KB
Actual file preview for TAR - Large UID/GID (GNU base-256)

TAR - Large UID/GID (GNU base-256)

The uid and gid fields hold 7 octal digits, so they top out at 2097151. This member is owned by uid 3000000, which needs GNU base-256 encoding: the field's high bit is set and the remaining bytes are a big-endian integer. Its group sibling encodes the same ownership the other way, so a reader can be checked against both without a second variable.

File
TAR · Tar Records · 2 members
Use case
Conversion testingMetadata testing+1· Conversion set
Preview of TAR - Large UID/GID (PAX records)
tar
10 KB
Actual file preview for TAR - Large UID/GID (PAX records)

TAR - Large UID/GID (PAX records)

The uid and gid fields hold 7 octal digits, so they top out at 2097151. This member is owned by uid 3000000, which needs PAX uid=/gid= records in an 'x' extended header, with the classic field left at its maximum. Its group sibling encodes the same ownership the other way, so a reader can be checked against both without a second variable.

File
TAR · Tar Records · 2 members
Use case
Conversion testingMetadata testing+1· Conversion set
Preview of TAR - Owner Names Longer Than the Header Field
tar
10 KB
Actual file preview for TAR - Owner Names Longer Than the Header Field

TAR - Owner Names Longer Than the Header Field

The uname and gname fields in a tar header are 32 bytes. This archive's second member is owned by a 44-character service-account name, which only fits because PAX moves it into an extended header. A USTAR writer would have truncated it to 31 characters and lost the distinction between two similarly-named accounts.

File
TAR · Tar Records · 2 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of TAR - Symlink Member
tar
10 KB
Actual file preview for TAR - Symlink Member

TAR - Symlink Member

share/current.csv is a symbolic link: typeflag '2', size 0, and the target carried in the header's 100-byte linkname field rather than in any data blocks. The target is relative and stays inside the archive, so extraction is safe with or without symlink support.

File
TAR · Tar Records · 3 members
Use case
Conversion testingMetadata testing· Conversion set

Tar Sparse

Preview of TAR - Old GNU Sparse File
tar
3.5 KB
Actual file preview for TAR - Old GNU Sparse File

TAR - Old GNU Sparse File

A 1 MiB file with a 1047552-byte hole in the middle, stored the old GNU way: typeflag 'S' and a four-slot sparse map written into the header block itself. Only 1024 bytes are actually in the stream, so a reader that ignores the map reconstructs a 1024-byte file instead of a 1 MiB one.

File
TAR · Tar Sparse · 2 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of TAR - PAX GNU.sparse 1.0
tar
5 KB
Actual file preview for TAR - PAX GNU.sparse 1.0

TAR - PAX GNU.sparse 1.0

The same 1 MiB sparse file in the modern encoding: an 'x' extended header declares GNU.sparse 1.0 and the real name and size, and the segment map is decimal text at the beginning of the member's own data rather than in the header. A reader that honours the records must also strip the GNUSparseFile.0/ prefix from the name it reports.

File
TAR · Tar Sparse · 2 members
Use case
Conversion testingMetadata testing· Conversion set

Tar Stream

Preview of TAR - Missing End-of-Archive Blocks
tar
3 KB
Actual file preview for TAR - Missing End-of-Archive Blocks

TAR - Missing End-of-Archive Blocks

A tar that ends immediately after its last member, with none of the two 512-byte zero blocks the format calls for. Plenty of writers do this and GNU tar reads it with a warning; readers that treat a missing end marker as a truncated archive reject three perfectly good members.

File
TAR · Tar Stream · 3 members
Use case
Conversion testingError handling· Conversion set
Preview of TAR - Padded to a 10240-Byte Record
tar
10 KB
Actual file preview for TAR - Padded to a 10240-Byte Record

TAR - Padded to a 10240-Byte Record

The same three members followed by the end-of-archive blocks and then zero padding out to a whole 10240-byte record - tar's historical blocking factor of 20, still the default. The archive is 10240 bytes for 616 bytes of content, which is what makes tiny tarballs look so wasteful before compression.

File
TAR · Tar Stream · 3 members
Use case
Conversion testingPerformance testing· Conversion set
Preview of TAR - Trailing Data After the End Blocks
tar
4.2 KB
Actual file preview for TAR - Trailing Data After the End Blocks

TAR - Trailing Data After the End Blocks

A complete tar with 218 bytes of plain text appended after the end-of-archive blocks. A reader must stop at those blocks; one that keeps scanning finds a block whose checksum does not verify and may report the whole archive as corrupt instead of ignoring bytes that were never part of it.

File
TAR · Tar Stream · 3 members
Use case
Conversion testingError handling· Conversion set

Tarball

Preview of TAR - Uncompressed
tar
10 KB
Actual file preview for TAR - Uncompressed

TAR - Uncompressed

A uncompressed USTAR of a small source tree — for testing tar extraction and the TAR container. Member timestamps are fixed for reproducibility.

File
TAR · Tarball · 4 members
Preview of TAR.BZ2 - Bzip2 Tarball
tbz2
668 B
Actual file preview for TAR.BZ2 - Bzip2 Tarball

TAR.BZ2 - Bzip2 Tarball

A bzip2-compressed tar of a small source tree — for testing tar extraction and the TBZ2 container. Member timestamps are fixed for reproducibility.

File
TBZ2 · Tarball · 4 members
Preview of TAR.GZ - Gzip Tarball
tgz
637 B
Actual file preview for TAR.GZ - Gzip Tarball

TAR.GZ - Gzip Tarball

A gzip-compressed tar of a small source tree — for testing tar extraction and the TGZ container. Member timestamps are fixed for reproducibility.

File
TGZ · Tarball · 4 members
Preview of TAR.XZ - XZ Tarball
txz
716 B
Actual file preview for TAR.XZ - XZ Tarball

TAR.XZ - XZ Tarball

A xz/LZMA-compressed tar of a small source tree — for testing tar extraction and the TXZ container. Member timestamps are fixed for reproducibility.

File
TXZ · Tarball · 4 members

Unix

Preview of CPIO Archive (newc/SVR4)
cpio
800 B
Actual file preview for CPIO Archive (newc/SVR4)

CPIO Archive (newc/SVR4)

A cpio archive in the newc (SVR4) format with four members — the Unix archive format used by initramfs and RPM. Hand-written to spec and documented down to its member list; for testing cpio extractors and converters.

File
CPIO · Unix · 4 members
Preview of Unix ar Archive
ar
316 B
Actual file preview for Unix ar Archive

Unix ar Archive

A Unix ar archive with three members — the simple format that backs static libraries (.a) and Debian packages (.deb). Hand-written to spec; for testing ar extractors and archive tooling.

File
AR · Unix · 3 members

Warc

Preview of WARC — Multi-Record SAMPLE
warc
1.1 KB
Actual file preview for WARC — Multi-Record SAMPLE

WARC — Multi-Record SAMPLE

Multi-record WARC 1.0 SAMPLE (warcinfo + responses + resource) for web-archive tooling.

File
WARC · Warc · 4 records

Web

Preview of WARC — Web Archive
warc
849 B
Actual file preview for WARC — Web Archive

WARC — Web Archive

A minimal WARC 1.0 web archive with a warcinfo record and an HTTP response record capturing a small HTML page — for testing WARC parsers and web-archive tooling.

File
WARC · Web

Zip

Preview of JAR - Resource Archive
jar
868 B
Actual file preview for JAR - Resource Archive

JAR - Resource Archive

A Java Archive (JAR) — a ZIP with a META-INF/MANIFEST.MF and resource files only (no .class bytecode). For testing JAR/ZIP readers and manifest parsing.

File
JAR · Zip · 4 members
Preview of ZIP - Deep Directory Tree
zip
1.4 KB
Actual file preview for ZIP - Deep Directory Tree

ZIP - Deep Directory Tree

A ZIP archive — a file nested six directory levels deep. Deterministic (fixed member timestamps) and safe to extract anywhere.

File
ZIP · Zip · 7 members
Preview of ZIP - Empty Archive
zip
22 B
Actual file preview for ZIP - Empty Archive

ZIP - Empty Archive

A valid ZIP with zero entries — the empty-archive edge case for testing how unarchivers handle a container with nothing inside.

File
ZIP · Zip · 0 members
Preview of ZIP - Flat
zip
688 B
Actual file preview for ZIP - Flat

ZIP - Flat

A ZIP archive — 3 files at the root, no directories. Deterministic (fixed member timestamps) and safe to extract anywhere.

File
ZIP · Zip · 3 members
Preview of ZIP - Many Small Files
zip
12.7 KB
Actual file preview for ZIP - Many Small Files

ZIP - Many Small Files

A ZIP archive — 100 tiny files for throughput testing. Deterministic (fixed member timestamps) and safe to extract anywhere.

File
ZIP · Zip · 100 members
Preview of ZIP - Nested Folders
zip
954 B
Actual file preview for ZIP - Nested Folders

ZIP - Nested Folders

A ZIP archive — files organised into data/ and docs/ subfolders. Deterministic (fixed member timestamps) and safe to extract anywhere.

File
ZIP · Zip · 4 members
Preview of ZIP - Unicode Filenames
zip
875 B
Actual file preview for ZIP - Unicode Filenames

ZIP - Unicode Filenames

A ZIP archive — UTF-8 filenames: accents, Japanese, emoji. Deterministic (fixed member timestamps) and safe to extract anywhere.

File
ZIP · Zip · 5 members

Zip Encoding

Preview of ZIP - CP437 Legacy Name Encoding
zip
631 B
Actual file preview for ZIP - CP437 Legacy Name Encoding

ZIP - CP437 Legacy Name Encoding

The legacy twin: names encoded in IBM CP437 with the language-encoding flag clear, which is what the ZIP spec says an un-flagged name means. Decoding these bytes as UTF-8 produces mojibake or an outright decode error, which is exactly the bug this file is for.

File
ZIP · Zip Encoding · 3 members
Use case
Conversion testingEncoding detection· Paired fixture
Preview of ZIP - Info-ZIP Unicode Path Extra Field
zip
753 B
Actual file preview for ZIP - Info-ZIP Unicode Path Extra Field

ZIP - Info-ZIP Unicode Path Extra Field

The third way a ZIP carries a non-ASCII name: an ASCII-safe name in the header plus an Info-ZIP Unicode Path extra field (0x7075) holding the real UTF-8 name and a CRC32 of the header name. A reader must prefer the extra field, but only while that CRC still matches the header name it was computed from.

File
ZIP · Zip Encoding · 3 members
Use case
Conversion testingEncoding detection+1· Conversion set
Preview of ZIP - UTF-8 Name Flag Set
zip
621 B
Actual file preview for ZIP - UTF-8 Name Flag Set

ZIP - UTF-8 Name Flag Set

Member names stored as UTF-8 with general-purpose bit 11 (the language-encoding flag) set, which is the modern, unambiguous way to carry a non-ASCII filename in a ZIP. Its CP437 twin encodes the same archive the legacy way, so a reader's encoding heuristic can be compared against a case where the answer is declared.

File
ZIP · Zip Encoding · 3 members
Use case
Conversion testingEncoding detection· Paired fixture

Zip Metadata

Preview of ZIP - Extended Timestamp and Unix UID/GID Extra Fields
zip
577 B
Actual file preview for ZIP - Extended Timestamp and Unix UID/GID Extra Fields

ZIP - Extended Timestamp and Unix UID/GID Extra Fields

The DOS timestamp in a ZIP header has 2-second resolution and no timezone, so Info-ZIP adds a 0x5455 extended timestamp and a 0x7875 uid/gid field. Here the uid/gid field appears in the local header only, matching what Info-ZIP actually writes, so a reader that reads extras from the central directory alone sees the timestamp but loses the ownership.

File
ZIP · Zip Metadata · 2 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of ZIP - Long Archive Comment
zip
1023 B
Actual file preview for ZIP - Long Archive Comment

ZIP - Long Archive Comment

A 512-byte archive comment pushes the end-of-central-directory record well away from the end of the file. Readers that seek to the last 22 bytes and expect the end signature there fail immediately; correct readers scan backwards for it, which is what the format requires.

File
ZIP · Zip Metadata · 2 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Per-Entry Comments
zip
888 B
Actual file preview for ZIP - Per-Entry Comments

ZIP - Per-Entry Comments

Two of three members carry a central-directory file comment and the third carries none. Comments exist only in the central directory, so a reader that walks local headers to build its listing loses them entirely; a rewriter that drops them loses them permanently.

File
ZIP · Zip Metadata · 3 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of ZIP - Symlink Member
zip
663 B
Actual file preview for ZIP - Symlink Member

ZIP - Symlink Member

share/current.csv is a symbolic link, stored the Info-ZIP way: the external attributes carry S_IFLNK and the member payload is the 16-byte target path rather than file content. The target is relative and resolves inside the archive, so extracting without symlink support produces a harmless text file instead of a dangling or escaping link.

File
ZIP · Zip Metadata · 3 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of ZIP - Unix Permission Bits in External Attributes
zip
552 B
Actual file preview for ZIP - Unix Permission Bits in External Attributes

ZIP - Unix Permission Bits in External Attributes

Unix permissions ride in the top 16 bits of the ZIP external attributes field, and are only meaningful when the version-made-by byte says Unix. This archive carries 0444, 0600, 0664 and a 0750 directory, plus the MS-DOS read-only bit on the 0444 member so the two conventions can be seen disagreeing. Nothing here is marked executable.

File
ZIP · Zip Metadata · 4 members
Use case
Conversion testingMetadata testing· Conversion set
Preview of ZIP - Unknown Extra Field ID
zip
617 B
Actual file preview for ZIP - Unknown Extra Field ID

ZIP - Unknown Extra Field ID

An extra field with header ID 0x9901, which is assigned to nothing, sits alongside a recognised extended-timestamp field in a different order in each header. The extra-field area is a length-prefixed chain, so the only correct behaviour is to skip unknown IDs by their declared length and keep walking.

File
ZIP · Zip Metadata · 2 members
Use case
Conversion testingError handling+1· Conversion set

Zip Names

Preview of ZIP - Backslash Path Separators
zip
899 B
Actual file preview for ZIP - Backslash Path Separators

ZIP - Backslash Path Separators

Two members use a backslash as the path separator, which APPNOTE 4.4.17.1 forbids and which Windows-written archives contain anyway. Readers that split on '/' only will create files literally named 'data\config.json' in the extraction root instead of data/config.json.

File
ZIP · Zip Names · 4 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Case-Only Name Collision
zip
760 B
Actual file preview for ZIP - Case-Only Name Collision

ZIP - Case-Only Name Collision

Three members under docs/ whose names differ only in letter case. On ext4 they are three files; on NTFS or a default APFS volume they are one file written three times, and the last one silently wins. Each payload names its own casing so you can tell which survived.

File
ZIP · Zip Names · 4 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Dot Segments in Member Paths
zip
925 B
Actual file preview for ZIP - Dot Segments in Member Paths

ZIP - Dot Segments in Member Paths

Member names carrying './' prefixes, an inner './' and one inner '../' that cancels the segment before it. Every path resolves inside the archive root, so this exercises a normaliser without being a traversal payload: docs/sub/../notes.md must land at docs/notes.md, not at docs/sub/notes.md and not outside the extraction directory.

File
ZIP · Zip Names · 4 members
Use case
Conversion testingError handling· Conversion set

Zip Payload

Preview of ZIP - Bounded High Compression Ratio
zip
4.4 KB
Actual file preview for ZIP - Bounded High Compression Ratio

ZIP - Bounded High Compression Ratio

A deliberately bounded compression-ratio fixture: 4474 bytes on disk expanding to exactly 4 MiB of zeros, roughly 937:1. It is not a decompression bomb - there is no nesting and no recursion, and the expanded size is a fixed 4 MiB - so it exercises a ratio guard or a streaming extractor's memory ceiling without being dangerous to open.

File
ZIP · Zip Payload · 2 members
Use case
Conversion testingCompression testing+1· Conversion set
Preview of ZIP - Leading Non-Archive Bytes
zip
1.1 KB
Actual file preview for ZIP - Leading Non-Archive Bytes

ZIP - Leading Non-Archive Bytes

397 bytes of readable text precede the first local file header, giving the layout of a self-extracting archive without shipping an executable stub. Readers that start at byte zero see garbage; readers that find the end-of-central-directory record and work backwards read all three members. Open the file in a text editor to read the prefix.

File
ZIP · Zip Payload · 3 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Zero-Length Members
zip
699 B
Actual file preview for ZIP - Zero-Length Members

ZIP - Zero-Length Members

Three empty files stored three ways - stored, deflated, and deflated behind a data descriptor - beside one real member. An empty deflate stream is still two bytes on disk with CRC 0, so readers that treat compressed size 0 as 'no data' and readers that treat CRC 0 as 'not computed' both go wrong here.

File
ZIP · Zip Payload · 4 members
Use case
Conversion testingError handling· Conversion set

Zip Spanned

Preview of ZIP - Multi-Disk Final Segment
zip
535 B
Actual file preview for ZIP - Multi-Disk Final Segment

ZIP - Multi-Disk Final Segment

The last segment of a two-part spanned set: its end record says this is disk 1, that the central directory lives on disk 1, and that 2 of the archive's 4 entries are here. The bytes are well-formed - this is not a corrupt file - but a reader given it alone must say so rather than silently reporting a 2-entry archive. The .z01 first segment is deliberately absent, because .z01 is not a format this catalog registers.

File
ZIP · Zip Spanned
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Single-Segment Split Marker (PK00)
zip
539 B
Actual file preview for ZIP - Single-Segment Split Marker (PK00)

ZIP - Single-Segment Split Marker (PK00)

A complete, extractable ZIP that begins with the four-byte PK00 marker a splitting writer emits when the archive fitted into a single segment after all. The marker shifts every local header four bytes forward, so a reader that assumes the first local header sits at offset 0 misparses a file it is perfectly capable of reading.

File
ZIP · Zip Spanned · 2 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Spanning Signature Marker
zip
539 B
Actual file preview for ZIP - Spanning Signature Marker

ZIP - Spanning Signature Marker

A complete ZIP prefixed with the 0x08074B50 spanning signature. That value is also the data descriptor signature, so a reader scanning the byte stream for descriptors finds one before the first local header — a genuine ambiguity in the format, reproduced here in a file that is otherwise entirely ordinary.

File
ZIP · Zip Spanned · 2 members
Use case
Conversion testingError handling· Conversion set

Zip Structure

Preview of ZIP - All Members Deflate
zip
723 B
Actual file preview for ZIP - All Members Deflate

ZIP - All Members Deflate

A 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.

File
ZIP · Zip Structure · 3 members
Use case
Conversion testingCompression testing· Conversion set
Preview of ZIP - All Members Stored
zip
917 B
Actual file preview for ZIP - All Members Stored

ZIP - All Members Stored

A 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.

File
ZIP · Zip Structure · 3 members
Use case
Conversion testingCompression testing· Conversion set
Preview of ZIP - Data Descriptor (no signature)
zip
759 B
Actual file preview for ZIP - Data Descriptor (no signature)

ZIP - 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.

File
ZIP · Zip Structure · 3 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Data Descriptor (with signature)
zip
771 B
Actual file preview for ZIP - Data Descriptor (with signature)

ZIP - 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.

File
ZIP · Zip Structure · 3 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Data Descriptor (ZIP64 8-byte fields)
zip
915 B
Actual file preview for ZIP - Data Descriptor (ZIP64 8-byte fields)

ZIP - 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.

File
ZIP · Zip Structure · 3 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Directories Implied by Member Paths
zip
769 B
Actual file preview for ZIP - Directories Implied by Member Paths

ZIP - Directories Implied by Member Paths

The same three-directory tree with no directory records at all — the parents exist only as path components inside member names. Extractors that create directories only when they see a directory record fail on this shape, which is what most command-line ZIP writers produce.

File
ZIP · Zip Structure
Use case
Conversion testing· Conversion set
Preview of ZIP - Directory Records Without a Trailing Slash
zip
1 KB
Actual file preview for ZIP - Directory Records Without a Trailing Slash

ZIP - Directory Records Without a Trailing Slash

Directory records whose names do NOT end in a slash — the directory-ness is carried only by the MS-DOS attribute bit in the external attributes field. A reader that decides by name alone creates three empty files called project, project/src and project/data, and then cannot create the directories that have to replace them.

File
ZIP · Zip Structure
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - Explicit Directory Records
zip
1 KB
Actual file preview for ZIP - Explicit Directory Records

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.

File
ZIP · Zip Structure
Use case
Conversion testing· Conversion set

Zip64

Preview of ZIP - ZIP64 End of Central Directory Only
zip
587 B
Actual file preview for ZIP - ZIP64 End of Central Directory Only

ZIP - ZIP64 End of Central Directory Only

Ordinary 32-bit member records terminated by a ZIP64 end-of-central-directory record, its locator, and then a normal 32-bit end record — the belt-and-braces trailer some writers always emit. A reader must find the classic end record first, notice the locator in front of it, and reconcile two directories that agree.

File
ZIP · Zip64 · 2 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - ZIP64 in Local and Central Headers
zip
667 B
Actual file preview for ZIP - ZIP64 in Local and Central Headers

ZIP - ZIP64 in Local and Central Headers

Both the local file headers and the central directory carry a ZIP64 extended information extra field (0x0001), with the 32-bit size fields set to 0xFFFFFFFF as the spec requires. The payload is a few hundred bytes: ZIP64 is present because the writer could not seek, not because the data is large, which is precisely the case size-based heuristics miss.

File
ZIP · Zip64 · 2 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - ZIP64 in the Central Directory Only
zip
627 B
Actual file preview for ZIP - ZIP64 in the Central Directory Only

ZIP - ZIP64 in the Central Directory Only

The local headers are plain 32-bit while the central directory carries the ZIP64 extra field. This is legal and common: a writer that streams cannot know at local-header time whether it will need ZIP64, so it commits to the wide fields only when it writes the directory.

File
ZIP · Zip64 · 2 members
Use case
Conversion testingError handling· Conversion set
Preview of ZIP - ZIP64 Relative Offset Field
zip
643 B
Actual file preview for ZIP - ZIP64 Relative Offset Field

ZIP - ZIP64 Relative Offset Field

A central directory whose ZIP64 extra field carries the relative local-header offset as well as the sizes. The ZIP64 extra is variable length and its members appear in a fixed order, so a reader that assumes a 16-byte or 24-byte block reads the offset out of the wrong slot.

File
ZIP · Zip64 · 2 members
Use case
Conversion testingError handling· Conversion set

Frequently asked questions

Do you include zip bombs or malicious archives?

Never. There are no zip bombs, executables, or hidden payloads. Every archive is deterministic and documented down to its member list — the 'stress' samples are just many tiny harmless files.

What's the password for the encrypted 7z sample?

It's printed directly on that file's page, so you can test password-protected extraction end to end.

How do I isolate a compression codec from its container?

Each tar variant (.tar, .tgz, .tbz2, .txz) ships alongside single-file gzip, bzip2, and xz samples, so you can test the codec on its own or inside the tar container.

Do you cover unicode filenames and empty archives?

Yes — there's a unicode-filename ZIP, a zero-entry empty archive, and a hundred-tiny-files archive for throughput testing, plus a resource JAR and a real ISO 9660 disk image.