poka.sh

Docs

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