ComicInfo.xml Generator

Build a ComicInfo.xml metadata file for your comic archives — compatible with ComicRack, Kavita, Komga, and more.

Credits

Metadata

ComicInfo.xml guide

ComicInfo.xml is a metadata file embedded inside comic archives (CBZ, CBR, CB7). Originally created by cYo for ComicRack, the format is now maintained as an open standard by the Anansi Project. Readers including ComicRack, Kavita, Komga, and Paperback parse it to populate series info, credits, and library organisation. The <ComicInfo> root element is required; every child element is optional.

Embedding in a CBZ

CBZ files are standard ZIP archives. Drop ComicInfo.xml into the root of the archive — not inside a subfolder.

Create a new archive

zip MyComic.cbz ComicInfo.xml page001.jpg page002.jpg

Add to an existing archive

zip -u MyComic.cbz ComicInfo.xml

Complete field reference

The form above covers the most-used fields. The full specification supports all of the following. Fields marked accept comma-separated lists of names.

Field Type Description
Series string Series name. Required by most readers for correct library grouping.
Title string Issue title.
Volume integer Volume number. Readers use this to distinguish runs of the same series name.
Number string Issue number. String type to accommodate values like "0.5" or "½".
Count integer Total issue count for the series or arc (e.g., 6 for a 6-issue mini-series).
Year integer Cover date year.
Month integer Cover date month (1–12).
Day integer Cover date day.
Publisher string Publisher name (e.g., Marvel Comics, Image Comics).
Imprint string Publisher imprint (e.g., Vertigo, MAX, Epic).
Genre string Genre(s), comma-separated (e.g., "Superhero, Action").
Format string Format type — e.g., "Annual", "Digital", "Trade Paperback", "One-Shot".
SeriesGroup string Groups related series into a collection (e.g., "Ultimate Universe").
StoryArc string Story arc name (e.g., "Born Again").
StoryArcNumber integer Position of this issue within the story arc.
Summary string Issue synopsis or solicitation text.
Notes string Freeform notes — often used for scan or source information.
Web string URL for more information (e.g., a League of Comic Geeks or Grand Comics Database link).
Writer † string Script writer(s).
Penciller † string Pencil artist(s).
Inker † string Ink artist(s).
Colorist † string Colourist(s).
Letterer † string Letterer(s).
CoverArtist † string Cover artist(s).
Editor † string Editor(s).
Characters † string Featured characters (e.g., "Spider-Man, Mary Jane Watson").
Teams † string Featured teams (e.g., "Avengers, S.H.I.E.L.D.").
Locations † string Story locations (e.g., "New York, Wakanda").
AgeRating enum See age rating values below.
LanguageISO string ISO 639-1 language code (e.g., "en", "fr", "de").
PageCount integer Total number of pages.
BlackAndWhite enum "Yes" or "No". Omit if unknown.
Manga enum "Yes", "No", or "YesAndRightToLeft". Controls reading direction in supported readers.
ScanInformation string Free-form scan provenance info (scanner, source, version).

Age rating values

The AgeRating field must be one of these exact strings (case-sensitive):

UnknownAdults Only 18+Early ChildhoodEveryoneEveryone 10+GKids to AdultsMMA15+Mature 17+R18+Rating PendingTeen

Tips

  • Separate multiple names in credit fields with a comma and space: <Writer>Stan Lee, Roy Thomas</Writer>
  • Number is a string — use it for fractional issues like 0.5 or annuals like 1999 Annual.
  • Omit fields entirely rather than leaving them empty or zero — readers handle absent elements more gracefully than blank values.
  • SeriesGroup is useful for collecting crossover events across multiple series into a single shelf.
  • Kavita and Komga both support StoryArc / StoryArcNumber to build reading-order lists independent of series.

Further reading

Frequently asked questions

What is ComicInfo.xml?
ComicInfo.xml is an XML metadata file that you embed inside a comic archive (CBZ, CBR, or CB7). It stores structured information about the comic — series name, issue number, credits, genre, and more — so that reader apps can display rich library views, sort your collection correctly, and surface details like plot summaries without you having to rename files manually.
What does this generator do?
You fill in the form fields — series, issue number, credits, and so on — and the tool instantly builds a valid ComicInfo.xml document in the live preview panel on the right. You can copy the XML to your clipboard or download it as a ready-to-use ComicInfo.xml file, then drop it into your comic archive.
Which comic readers support ComicInfo.xml?
ComicRack (the originator), Kavita, Komga, Paperback, YACReader, and most other modern comic library managers read the format. The Anansi Project now maintains the open specification, so support is widespread and growing.
How do I add ComicInfo.xml to a CBZ?
CBZ files are ZIP archives. You can add or update the file with any ZIP tool — for example: zip -u MyComic.cbz ComicInfo.xml. Place the file in the root of the archive, not inside a subfolder, so readers can find it reliably.
Do I need to fill in every field?
No. Only Series is effectively required — most readers need it to group issues into a series. All other fields are optional. It is better to omit a field entirely than to leave it blank or zero, as readers handle absent elements more gracefully than empty values.
What is the difference between v2.0 and the v2.1 draft?
Version 2.0 is the current stable spec maintained by the Anansi Project and the version supported by virtually all readers. Version 2.1 is a community draft that adds a handful of new fields (such as GTIN and additional arc metadata). Unless you are testing bleeding-edge reader builds, stick with v2.0 — everything this generator produces is v2.0-compatible.
Can I have multiple writers or artists in one field?
Yes. Separate names with a comma and space: Stan Lee, Roy Thomas. Most readers will split on the comma and display each name individually. This applies to all credit fields — Writer, Penciller, Inker, Colorist, Letterer, CoverArtist, and Editor.