ISO
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.
Iso Preview.
At a glance
| Purpose | An ISO 9660 optical-disc image: the file system of a CD or DVD, with Joliet or Rock Ridge extensions. |
| Extensions | .iso |
| Poka parser | poka-iso |
| 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: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-26: read parsers/poka-iso/src/main.rs (967 lines) and plugin.json. 21 unit tests (tree walk limits, loops, multi-extent files, the declared-size check) and corpus tests over netboot.xyz.iso, including a_corpus_iso_counts_the_entries_pycdlib_counts, which compares the whole-tree count with an independent reader. Covers .iso. The table lists the root directory (name, file or directory, size) with Joliet (UTF-16, surrogate pairs included) or Rock Ridge names, read by its own code since #527 (no ISO 9660 crate); the whole tree is walked for file and directory counts; the volume's declared size is checked against the file. Judgement: B4: the image is listed and counted, but only the root folder is listed and no file is extracted.
What Poka does not read
- Only the root directory is listed; subdirectories are counted, not shown
- File contents are not extracted or shown
- Volume descriptor fields (volume label, system and publisher identifiers, dates) are not shown
- El Torito boot records and UDF file systems (DVD and Blu-ray) are not read
- Only the first 500 root entries are listed; the tree walk stops at 200,000 entries
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- iso9660_simple (reference; MIT; Rust) — Used until #527: it pulled in the MPL-2.0 ucs2 crate and panicked on Joliet names outside ASCII; poka-iso now reads the descriptors and directory records itself.
- cdfs (candidate; MIT OR Apache-2.0; Rust; https://docs.rs/cdfs) — Userland ISO 9660 reader with SUSP/Rock Ridge entries; Joliet support not stated; repo is git.sr.ht/~az1/iso9660-rs; has a fuser dependency, check it builds for wasm.
- libarchive (candidate; BSD-2-Clause; C; https://github.com/libarchive/libarchive) — Reads ISO9660 images with optional Rock Ridge and Joliet; licence is 2-clause BSD-style per COPYING.
- pycdlib (candidate; LGPL-2.1; Python; https://github.com/clalancette/pycdlib) — Pure-Python library to read/write ISOs; supports Joliet, Rock Ridge, El Torito and UDF per README.
- DiscUtils (candidate; MIT; C#/.NET; https://github.com/DiscUtils/DiscUtils) — Managed .NET library with CDReader for ISO images, also UDF, FAT, NTFS and VHD/VMDK.
Sources
- parsers/poka-iso/src/main.rs
- parsers/poka-iso/plugin.json