PAR2
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.
Par2 Recovery Preview.
At a glance
| Purpose | A Parchive 2 recovery file: packets describing a set of files and recovery blocks that can rebuild damaged parts of them. |
| Extensions | .par2 |
| Poka parser | poka-par2 |
| Viewer | poka-tree-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-par2/src/main.rs (299 lines) and plugin.json. No unit tests or tests/samples.rs; the corpus has sample.par2, read by no test. Covers .par2. The tree walks the packets and shows the slice size, files protected, recovery blocks, total recovery size, creator and recovery set ID, lists the protected files from their file-description packets, and gives a packet histogram. Judgement: B4: the recovery set is described, but the protected files are not checked.
What Poka does not read
- The protected files are not verified against their hashes (they are not available in the sandbox)
- Recovery slices are counted, not checked
- Packet MD5s are not verified
- Only the first 300 files are listed
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- rust-par2 (candidate; MIT OR Apache-2.0; Rust; https://docs.rs/crate/rust-par2/latest) — Parses index and volume .par2 packets, verifies and repairs; v0.1.3 seen; docs.rs lists repo as AusAgentSmith-org/rust-par2 (text label differs, check).
- par2rs (reference; GPL-3.0-only; Rust; https://github.com/mjc/par2rs) — copyleft; par2cmdline-compatible implementation; packet parsing via binrw; copyleft.
- par2-rs (rarpar) (reference; GPL-3.0-or-later; Rust; https://docs.rs/crate/par2-rs/latest) — copyleft; Verification and repair, all packet types; default crypto backend needs a C toolchain; copyleft.
- omnizip-par2 (candidate; MIT OR Apache-2.0; Rust; https://github.com/omnizip/omnizip-rs) — PAR2 parity archives — packets, MD5/CRC64 slice verification, Reed-Solomon recovery over GF(2^16) on omnizip-archive-core; v0.21.117, updated 2026-09-24; matched on lib.rs, not tested
Sources
- parsers/poka-par2/src/main.rs
- parsers/poka-par2/plugin.json