All formats

CBZ libraries

A CBZ is a ZIP archive, so any ZIP library reads and writes it. What makes it a comic is a few conventions on top: pages sorted by name in natural order, the first page as cover, and ComicInfo.xml metadata. The library pages below show those comic-specific tasks. For general ZIP features see the ZIP page.

Language Library Read Write Notes
C/C++ libzip yes yes ZIP only, random access by index or name
C/C++ libarchive yes yes one API for CBZ, CBR, CB7, CBT; streaming
C# System.IO.Compression yes yes built into .NET
C# SharpCompress yes yes one API for ZIP, RAR, 7z, TAR
Java java.util.zip yes yes built into the JDK
Java Apache Commons Compress yes yes ZIP, 7z, TAR; better ZIP edge cases
Go archive/zip yes yes standard library, fs.FS support
Go archives yes yes mholt/archives: one API for ZIP, RAR, 7z, TAR
Python zipfile yes yes standard library
Python comicbox yes yes comic-specific: pages, covers, ComicInfo and other metadata
Ruby rubyzip yes yes the standard Ruby ZIP gem
Rust zip yes yes pure Rust
PHP ZipArchive yes yes bundled zip extension

By language#