7Z
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
7z Preview.
At a glance
| Purpose | A 7-Zip archive: files compressed with LZMA, LZMA2 or other methods, with a header that may itself be compressed. |
| Extensions | .7z |
| Poka parser | poka-7z |
| Viewer | poka-table-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B4 Summary (see Breadth tiers) |
How much Poka reads
B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.
Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-7z/src/main.rs (346 lines) and plugin.json. The six unit tests cover the signature-header integrity check; corpus_archives_declare_their_own_length runs the corpus 7z files (py7zr_test_3.7z, test-documents.7z and others) through that check, not through the listing. Covers .7z. The sevenz-rust2 crate reads the archive header (including a compressed header) and the table lists every entry with name, size and packed size; the signature header's CRC and declared end are checked for truncation or trailing data. Judgement: B4: the archive is listed but no member is extracted or shown.
What Poka does not read
- Member contents are not extracted or shown
- Archives with an encrypted header cannot be listed, because no password is tried (judgement from the code)
- Timestamps, attributes, CRCs, solid blocks and the compression method per folder are not shown
- Multi-volume archives (.7z.001) are not joined
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- sevenz-rust2 (used; Apache-2.0; Rust)
- zesven (candidate; MIT OR Apache-2.0; Rust; https://github.com/AndreyAkinshin/zesven) — Pure Rust read/write 7z; crates.io v3.2.0 updated 2026-08-09 (crates.io API). Younger than sevenz-rust2, so check wasm32 build.
- libarchive (candidate; BSD-2-Clause; C; https://github.com/libarchive/libarchive) — README lists 7-Zip read/write. COPYING describes a permissive two-condition licence (my SPDX mapping) with exceptions for some files; check before relying.
- LZMA SDK (candidate; Public domain; C/C++/C#/Java; https://www.7-zip.org/sdk.html) — Official SDK incl. ANSI-C 7z decompression code with example.
- SharpCompress (candidate; MIT; C#/.NET; https://github.com/adamhathcock/sharpcompress) — Pure C# compression library; reads and writes 7Zip.
- py7zr (candidate; LGPL-2.1-or-later; Python; https://github.com/miurahr/py7zr) — Pure Python 7z read/write; BCJ2 not supported; use 0.20.2 or later (CVE-2022-44900).
Sources
- parsers/poka-7z/src/main.rs
- parsers/poka-7z/plugin.json