Cross-platform desktop app to pack comic and manga images into CBZ or CBR, with a visual page editor and ComicInfo.xml metadata that modern readers understand.
Windows · Linux · macOS · Avalonia / .NET · MIT
Drop a folder with scans in it, reorder them, mark the cover, fill series/title/number, choose CBZ or CBR, and pack. The file gets a valid ComicInfo.xml at the root so modern readers can read the metadata.
| You get | Details |
|---|---|
| Visual editor | Import files or a folder, drag & drop, reorder in a grid, mark the cover |
| Real formats | CBZ = ZIP. CBR = real RAR (only if the rar binary is installed). A ZIP is never renamed to .cbr |
| ComicInfo.xml | UTF-8, Anansi / ComicInfo v2.0–v2.1 schema |
| Manga RTL | Right-to-left reading flag when the type is Manga |
| Sensible ZIP | STORE for images (already compressed), fast DEFLATE for the XML |
| Predictable names | 0001.jpg, 0002.png, … (4-digit padding, original extension kept) |
- People who have a folder of scans and want a proper
.cbz/.cbrwithout a command line - Collectors who care about
ComicInfo.xml(series, number, writer, manga direction) - Anyone who does not want a fake CBR (ZIP with a
.cbrextension)
- Add images: individual files, a folder, or drag & drop.
- Reorder pages in the grid if needed.
- Mark the cover.
- Fill the metadata. For manga, enable right-to-left reading.
- Choose CBZ or CBR.
- Click Package and pick a destination.
- The app writes
ComicInfo.xmlat the archive root while packing.
Shortcuts: Ctrl+O add · Delete remove selection · Ctrl+Enter package.
| Format | What it is | When to use it |
|---|---|---|
| CBZ | ZIP with a .cbz extension |
Default. No extra software. Works everywhere. |
| CBR | Real RAR with a .cbr extension |
Only if WinRAR / RARLAB rar is on your PATH. Otherwise CBR is disabled and the UI explains why. |
- Open the latest release.
- Download the build for your OS.
- For CBR on top of CBZ, install WinRAR or the RARLAB
rarCLI and make sureraris on yourPATH.
git clone https://github.com/rodoac89/comic-packager.git
cd comic-packager
dotnet restore
dotnet test
dotnet run --project src/ComicPackager.AppNeeds the .NET 10 SDK. Linux also needs libicu and the native Skia libraries Avalonia ships when you publish.
Add the pages (folder or drag & drop), order them, fill metadata, choose CBZ, click Package.
A small XML file inside the archive with title, series, number, writer, language, manga direction, and so on. Readers use it to sort and display the book. Comic Packager writes ComicInfo v2.0–v2.1 at the root of the file created.
CBZ is a ZIP file. CBR is a RAR file. Most readers open both. CBZ is the better default: no extra tools, easier to open and repair. Use CBR only if you specifically need RAR.
No. If rar is missing, CBR is disabled. The app never writes a ZIP and renames it to .cbr.
Yes. Set the type to Manga and enable RTL. That flag goes into ComicInfo.xml.
Any reader that opens CBZ/CBR and reads ComicInfo.xml.
Each generated archive contains:
- Image files:
0001.jpg,0002.png, … (4-digit padding; original extension kept) ComicInfo.xml(UTF-8, Anansi / ComicInfo v2.0–v2.1)- ZIP compression: STORE for images, fast DEFLATE for the XML
comic-packager/
├── ComicPackager.slnx
├── src/
│ ├── ComicPackager.Core/ # domain, no UI
│ │ ├── Models/ # PageItem, ComicMetadata, formats
│ │ ├── Import/ # natural sort, import, reorder
│ │ ├── Metadata/ # ComicInfo.xml + file name
│ │ ├── Packing/ # CBZ (ZIP), CBR (rar), validation
│ │ └── Thumbnails/ # on-disk cache, bounded decode
│ └── ComicPackager.App/ # Avalonia UI (MVVM)
├── tests/ComicPackager.Tests/
├── examples/ # sample ComicInfo RTL / LTR
└── packaging/ # installer notes
Details in packaging/. Summary:
# Windows (portable folder; MSI/EXE via WiX or Inno Setup)
dotnet publish src/ComicPackager.App -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o dist/win
# Linux
dotnet publish src/ComicPackager.App -c Release -r linux-x64 --self-contained true -p:PublishSingleFile=true -o dist/linux
# macOS
dotnet publish src/ComicPackager.App -c Release -r osx-arm64 --self-contained true -p:PublishSingleFile=true -o dist/osx- Linux: AppImage (
packaging/linux) or.deb - Windows: Inno Setup / WiX for
.exeor.msi(packaging/windows) - macOS:
.app+.dmg(packaging/macos)
| Component | License | Notes |
|---|---|---|
| Avalonia UI | MIT | UI |
| CommunityToolkit.Mvvm | MIT | MVVM |
| SkiaSharp | MIT | Thumbnails and corrupt-file detection |
| .NET / System.IO.Compression | MIT | CBZ |
rar (RARLAB / WinRAR) |
Proprietary | Not bundled. Install it yourself if you want CBR. |
This project is MIT.
See docs/KNOWN_ISSUES.md.
Made in Chile 🇨🇱

