The ƆBZ Redactor icon

The ƆBZ Redactor

A free CBZ metadata editor for Windows and Linux — read and write ComicInfo.xml without touching the page images, plus opt-in tools for oversized scans and CBR/CBT/CB7 conversion.

Download latest release View source on GitHub
The ƆBZ Redactor's main window: a loaded comic library table on the right with Filename/Month/Day/Year columns, and the selected issue's ComicInfo.xml fields and cover preview in the left-hand panel.
Bulk-loaded library with the metadata panel and cover preview for the selected issue.

What a CBZ is

A CBZ file is a plain ZIP archive of sequentially-named comic page images, optionally with a ComicInfo.xml metadata file at its root — the de facto standard originating from ComicRack and documented by the Anansi Project. Not every CBZ has one; the ƆBZ Redactor creates one on save if it's missing, rather than requiring it up front. Its field handling was checked directly against ComicTagger's own source to stay compatible with what readers like Kavita actually expect.

Features

Scripting: every one of these has a command-line counterpart where it makes sense (info, set, convert, rename, move, redact): see the command line guide below.

Redact, and everything since

Everything below is in the current release. Redact is the one-click path; the individual tools above remain available.

Redact steps: convert CBR/CB7/CBT to CBZ, clean up archive contents, fill empty fields from the filename, the folder path and a database (local GCD or ComicRack first, then Comic Vine when a key is saved), fix ComicInfo issues, and tag low-res scans. Optional, off by default: rename by pattern, fill empty fields from AniList and MangaUpdates (for a manga library), remove known credit pages, resize oversized pages to 1440 px, and move into folders.

Where the metadata comes from

The ƆBZ Redactor works on its own: editing, Validate / Fix Issues, resizing and conversion need no outside source. Lookups are optional, and every one is a review-then-Apply step. Online sources are only asked when you run a lookup. Local databases are built from files you download or already own; the app never bundles or downloads them. Redact uses a local database first when one is set up, then Comic Vine when a key is saved, and applies only matches at or above its confidence threshold. The hub has all four apps side by side.

Online sources

SourceWhat it providesWhat you needNotes
Comic Vine Series, issue title, summary, date, creator credits, characters / teams / locations, publisher; the issue’s Comic Vine page goes in Web. Your own free Comic Vine API key. You register for it yourself; it is stored in your operating system’s credential store. Metadata > Look Up > Comic Vine.
Grand Comics Database (web API) The same fields from GCD, with structured credits; the issue’s GCD page goes in Web. Needs a series name and an issue number. No key. An optional free GCD account raises GCD’s hourly limit for anonymous use; the password is stored in your credential store. Metadata > Look Up > Grand Comics Database. GCD data is under the licence described in Data and licences.
AniList and MangaUpdates (manga) Series level only: title, summary, start date, genres and tags, author and artist, publisher (the English one when MangaUpdates has it), volume count of a finished series, rating, Manga flag and age rating; AniList’s page goes in Web. Nothing per volume (no ISBN, date or cover). No key. Two free public APIs; AniList’s request limit is low, so requests are spaced and a series is asked about once per run. Metadata > Look Up > Manga, and the Redact step “Fill empty fields from AniList and MangaUpdates (manga)” (off by default). Credit: data from AniList and MangaUpdates.
Bedetheque Francophone comics (bande dessinée): credits, publisher, date, ISBN, summary; the album’s page goes in Web. Needs a series name and an issue number. No key. Read from Bedetheque’s web pages, one issue at a time, through a Cloudflare-passing helper (cloudscraper), not from an official API. Because it reads web pages, it can stop working if the site changes.

Local (offline) sources

SourceWhat it providesWhat you needNotes
GCD data dump (SQLite) Series, title, date, genre, characters, publisher, language, structured credits (writer, penciller, inker, colorist, letterer, editor) and the issue’s GCD page. No cover images. You download GCD’s SQLite dump yourself from comics.org (a free account is needed to download it; current.zip is about 2 GB and holds a database of about 7 GB) and point the app at the unzipped .db file. The app only reads it. Milliseconds per file, no hourly limit. Tools > GCD Local Database explains the steps.
Your ComicRack library Series, issues, credits, characters, summaries and the Comic Vine link, from your own library. File paths, sizes and reading history are never copied. Your own ComicDb.xml (plain or zipped); Tools > ComicRack Library Database converts it once into a local database (about 30–40 seconds for 234,000 books on the author’s library). Also feeds Compare ComicRack Library with GCD, which saves what your library has that the GCD lacks (and the reverse) as spreadsheets.

From the file itself

Licences and required acknowledgements for these sources are collected under Data and licences on the hub.

Command line

The ƆBZ Redactor can be driven from a terminal, a batch file or Task Scheduler. It is the same program: there is no second download. cbzredactor.exe with a command name as its first argument runs that command and never opens a window; with no arguments, or with a file or folder, it opens the window as before. The commands use the same code as the window, so they give the same results, and not every window function has a command: these are the ones meant for scripting.

CommandWhat it does
infoShow each comic's format, page count and ComicInfo fields.
setSet or clear ComicInfo fields (-s Series=Saga -s Number=3, --clear Notes) and save in place.
convertTurn CBR, CB7, CBT (and a .cbz that is really another format) into a real .cbz beside the original; --resize shrinks the pages in the same pass.
renameRename from the metadata with a pattern such as %series% %number% - %title%.
moveMove or copy into a folder tree under your library root, %publisher%/%series%/%series% %number%.
redactRun the same Redact recipe as the window: convert, clean up, credit pages, resize, fill from the file name and path, lookups, validate and fix, tag, rename, move.
cbzredactor info "D:\Comics\Saga" --fields series,number,year
cbzredactor set "D:\Comics\Saga" -s Publisher="Image Comics" -s Year=2012 -n
cbzredactor convert "D:\Incoming" --resize --trash-original
cbzredactor rename "D:\Comics\Saga" -p "%series% %number% - %title%" --zero-pad 3 -n
cbzredactor move "D:\Incoming" -p "%publisher%/%series%/%series% %number%" --root "D:\Library"
cbzredactor redact "D:\Incoming" --disable lookup --trash-dir "D:\Trash" --json -o report.json

Every command takes comics, folders (searched recursively; -R for the top level only) or wildcards. Every command that changes comics has -n / --dry-run to preview the result first. --json prints one JSON document instead of text, -o FILE writes the result to a file, and -q silences progress. The exit code says how it went: 0 done, 1 some comics failed, 2 bad arguments, 70 an internal error, 130 interrupted.

A Comic Vine key is read from the COMICVINE_API_KEY environment variable if it is set, else from the app's saved one. A CBR, CB7 or CBT is skipped by set, rename and move until it has been converted.

Using it from scripts (Windows)

The Windows program is a windowed one, so an interactive shell does not wait for it. For automation ask for the result in a file, wait for the process, and read the exit code:

cbzredactor.exe redact "D:\Incoming" --json --output "%TEMP%\redact.json"
if errorlevel 1 echo something failed

start /wait cbzredactor.exe redact "D:\Incoming" --quiet

# PowerShell
$p = Start-Process cbzredactor.exe -ArgumentList 'redact','D:\Incoming','--json','-o','C:\Temp\redact.json' -Wait -PassThru
$p.ExitCode

In a batch file write %% for each % of a pattern (-p "%%series%% %%title%%"), as cmd expands a single %name% itself. On Linux the program behaves like any command-line tool. The full reference, with every option and JSON field, is in the repository README.

Requirements

Two downloads on each release: a standalone .exe for Windows, and cbzredactor-linux-x86_64.tar.gz for 64-bit Linux (Ubuntu 22.04+, Debian 12+, Fedora 36+, Mint 21+ and the like — unpack and run; settings live in ~/.config/cbzredactor/). No separate Python install needed on either. Full details and the changelog are in the GitHub repository.

Inspirations

Two older tools shaped parts of this one — no code from either is used:

The rest of the family

The ƆBZ Redactor shares its UI and core editing patterns with three sibling tools, via redactor_common:

The ƎPUB Redactor The ɯP3 Redactor The Ʌideo Redactor

More tools

Dossier Pluteus All the Redactor Tools Kinderkopje