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> Numberis a string — use it for fractional issues like0.5or annuals like1999 Annual.- Omit fields entirely rather than leaving them empty or zero — readers handle absent elements more gracefully than blank values.
SeriesGroupis useful for collecting crossover events across multiple series into a single shelf.- Kavita and Komga both support
StoryArc/StoryArcNumberto build reading-order lists independent of series.
Further reading
- Anansi Project — ComicInfo.xml introduction History of the format and its relationship to the original ComicRack app.
- Anansi Project — schema documentation Official field-by-field documentation for v2.0 and v2.1 draft.
- anansi-project/comicinfo on GitHub Source repo for the spec, XSD schema files, and change proposals.
- Kavita — Comics metadata guide How Kavita reads and applies ComicInfo.xml fields in your library.
- Komga — Scanning and metadata How Komga scans archives and picks up ComicInfo.xml on import.
- MobileRead wiki — ComicRack Archive of documentation for ComicRack, the application that originated the format.
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.