Viimeksi päivitetty: 28 heinäkuuta 2026

TL;DR CBZ (Comic Book Zip) ei ole muuta kuin tavallinen ZIP-arkisto, joka pakkaa peräkkäisiä kuvatiedostoja—plus valinnaista metadataa—yksiin, DRM‑vapaaseen sarjakuva‑konttiin. Koska se perustuu yleisesti käytettyyn ZIP-muotoon, mikä tahansa pakkaustyökalu voi avata sen, ja lukijat lajittelevat kuvat aakkosjärjestykseen näyttääkseen sivut oikeassa järjestyksessä. Nykyiset CBZ:t sisältävät usein ComicInfo.xml-tiedoston rikkaaseen kirjastotietoon, käyttävät tehokkaita kuvakodekkeja kuten WebP/AVIF, ja jopa upottavat HTML:n interaktiivisia “parannettuja” sarjakuvia varten.
Mikä tarkalleen ottaen on CBZ?
- Nimi: Comic Book Zip – ZIP‑tiedosto, jonka tiedostopääte on
.cbz. - MIME-tyyppi:
application/vnd.comicbook+zip(rekisteröity IANA:ssa vuonna 2012). - Alkuperä: Suosittui ComicRack‑yhteisön (2005‑2008) kautta avoimen lähdekoodin vaihtoehtona suljetuille formaateille kuten CBR tai PDF.
- Monialustainen: Avattavissa millä tahansa ZIP-yhteensopivalla työkalulla (7‑Zip, WinRAR, macOS Archive Utility, Linux
unzip). Erillistä ohjelmistoa ei tarvita sisällön tarkastelemiseen.
Käytännössä CBZ on vain kansio, jossa on kuvia (JPEG, PNG, WebP, jne.) pakattuna zip‑tiedostoon ja uudelleennimettynä. Tämä yksinkertaisuus on syy siihen, miksi se on de‑facto -standardi digitaalisille sarjakuville PC:illä, tableteilla ja puhelimilla.
CBZ:n sisällä: Tiedostorakenne
Hyvin muodostettu CBZ noudattaa tasapintaista hierarkiaa—ei ylimääräistä sisäkkäisyyttä—jotta lukijat voivat löytää sivut välittömästi. Alla on tyypillinen puunäkymä:
MyComic.cbz
│
├─ 001.jpg ← first page (front cover)
├─ 002.jpg
├─ 003.jpg
│ …
├─ 050.jpg ← last page (back cover)
├─ ComicInfo.xml ← optional rich metadata
└─ cover.jpg ← optional thumbnail for library views
Keskeiset elementit
| Elementti | Mitä se on | Miksi se on tärkeä |
|---|---|---|
| Peräkkäiset kuvatiedostot | Nimetty niin, että ne lajitellaan aakkosjärjestykseen (001.jpg, 002.jpg, …) | Varmistaa oikean sivujärjestyksen kaikissa lukijoissa. |
| Kuvamuoto | JPEG, PNG, GIF, WebP, AVIF, BMP, TIFF | Määrittää tiedoston koon, visuaalisen tarkkuuden ja laitteiden yhteensopivuuden. |
| ComicInfo.xml | Valinnainen XML ComicRack-skeeman mukaisesti | Tallentaa otsikon, tekijän, sarjan, numeron, kielen, sivutyypin liput ja jopa pikkukuvan tiedot. Mahdollistaa tehokkaan kirjaston hallinnan. |
| Kansikuva | cover.jpg/cover.png juurihakemistossa | Monien sovellusten käyttämä sarjakuvan pikkukuva gallerioissa. |
| Unicode‑tiedostonimet | Moderni ZIP tukee UTF‑8 | Välttämätön ei‑latinalaisille otsikoille ja kansainvälisille sarjakuville. |
| ZIP‑keskusrekisteri | Indeksi arkiston lopussa | Lukijat lukevat tätä rakentaakseen sivulistan nopeasti; korruptio tässä voi rikkoa koko CBZ:n. |
Koska arkisto pakkaa vain jo pakattuja kuvia, lopullinen koko on yleensä vain alkuperäisten tiedostojen summa plus muutama kilotavua ZIP‑ylitietoa (< 5 %).
Metatietojen taika: ComicInfo.xml ja sivutyypin liput
Vaikka CBZ toimii täydellisesti ilman ylimääräisiä tiedostoja, ComicInfo.xml-tiedoston lisääminen muuttaa yksinkertaisen kuvapinon haettavaksi, runsaasti kuvattavaksi sarjakuvaksi. Tässä on minimaalinen esimerkki:
<?xml version="1.0" encoding="utf-8"?>
<ComicInfo>
<Title>Starship Voyager</Title>
<Series>Space Adventures</Series>
<Number>12</Number>
<Writer>Jane Doe</Writer>
<Penciller>John Smith</Penciller>
<Inker>Alex Lee</Inker>
<Publisher>Galaxy Press</Publisher>
<Year>2024</Year>
<LanguageISO>en</LanguageISO>
<PageCount>50</PageCount>
<Pages>
<Page Image="001.jpg" Type="FrontCover"/>
<Page Image="002.jpg" Type="Story"/>
<Page Image="025.jpg" Type="DoublePage"/>
<Page Image="050.jpg" Type="BackCover"/>
</Pages>
</ComicInfo>
Miksi vaivata?
- Kirjastotyökalut (ComicRack, Calibre, jne.) voivat järjestää, suodattaa ja hakea näiden kenttien perusteella.
- Sivutyypin liput (
FrontCover,BackCover,Advert,Deleted, jne.) antavat lukijoiden piilottaa mainokset, näyttää vain tarinasivut tai näyttää mukautetun kansikuvan pikkukuvan. - Tulevaisuudenkestävyys – Kun Digital Comics Initiative laatii CBZ v2.0 -specifikaatiota, manifestitiedosto (
manifest.json) saattaa tulla pakolliseksi, mutta nykyiset lukijat kunnioittavat edelleenComicInfo.xml-tiedostoa.
CBZ-tiedostojen luominen ja muuntaminen (askel askeleelta)
1. Valmistele kuvat
- Vie jokainen sarjakuvasivu kuvana.
- Nimeä ne nollalla täytetyillä numeroilla (
001.jpg,002.jpg, …) varmistaaksesi oikean lajittelun. - Valitse yleisöllesi sopiva koodekki: JPEG pienimmän koon saavuttamiseksi, PNG häviöttömään taiteeseen, WebP/AVIF moderniin, korkealaatuiseen pakkaamiseen.
2. (Valinnainen) Luo metatiedot
Työkalut kuten ComicTagger, cbr2cbz tai mukautetut skriptit voivat automaattisesti täyttää ComicInfo.xml OCR:n + LLM:ien avulla. Tämä vaihe on valinnainen, mutta erittäin suositeltava suurille kirjastoille.
3. Pakkaa se
# Navigate to the folder containing the pages
cd /path/to/pages
# Create a CBZ without extra compression (JPEGs are already compressed)
zip -0 -r ../MyComic.cbz *.jpg *.png ComicInfo.xml cover.jpg
# -0 = store (no compression) – speeds up the process
Nimeä syntynyt .zip uudelleen .cbz:ksi, jos pakkausohjelmasi ei tehnyt sitä automaattisesti.
4. Tarkista arkisto
import zipfile, pathlib, sys
def list_pages(cbz_path: pathlib.Path):
with zipfile.ZipFile(cbz_path, 'r') as z:
# Guard against zip‑bombs (max 500 MB uncompressed)
total = sum(z.getinfo(name).file_size for name in z.namelist())
if total > 500 * 1024 * 1024:
raise ValueError("Archive too large")
images = [n for n in z.namelist()
if n.lower().endswith(('.jpg', '.jpeg', '.png', '.webp', '.avif'))]
images.sort() # natural alphabetical order
return images
if __name__ == "__main__":
cbz = pathlib.Path(sys.argv[1])
for page in list_pages(cbz):
print(page)
Komennon python list_pages.py MyComic.cbz suorittaminen tulostaa puhtaan, järjestetyn luettelon sivutiedostonimistä.
5. Muunna PDF:ksi (jos tarvitset tulostettavan version)
unzip -q MyComic.cbz -d tmp_pages
convert tmp_pages/*.jpg MyComic.pdf # ImageMagick's `convert`
rm -r tmp_pages
Trendit, turvallisuus ja CBZ:n tulevaisuus
| Trend | Mitä tapahtuu | Vaikutus CBZ:ään |
|---|---|---|
| Web‑first-jakelu | Julkaisijat isännöivät CBZ-tiedostoja pilvitallennuksessa esiallekirjoitetuilla URL-osoitteilla. | Nopeammat, DRM‑vapaat lataukset; helpompi itsejulkaisu. |
| Hybrid/ interaktiiviset sarjakuvat | Lisäämällä index.html + resurssit arkistoon luodaan “parannettuja” sarjakuvia (audio, video, HTML5). | Lukijat, jotka tukevat web-näkymää, voivat renderöidä multimedia-kerroksia. |
| WebP- ja AVIF-tekniikoiden käyttöönotto | ~15 % uusista julkaisuista (2024) käyttää näitä koodekkeja. | 30‑50 % koon pienennys säilyttäen laadun—tärkeä mobiililaajakaistalle. |
| AI‑luotu metadata | Työkalut kuten ComicTagger käyttävät nyt OCR:ää + LLM:itä täyttääkseen ComicInfo.xml. | Parempi löydettävyys, automaattinen merkintä ja kirjaston organisointi. |
| Pilvi‑synkronoitavat lukusovellukset | Chunky, Perfect Viewer ja muut synkronoivat edistymisen Firebase‑/iCloud‑palvelun kautta. | Saumaton lukeminen puhelimilla, tableteilla ja työpöydillä. |
| Standardisoinnin edistäminen (CBZ v2.0) | DCI ehdottaa pakollista manifest.json‑tiedostoa, moniresoluutioisia aineistoja ja <DRM>‑lippua. | Tekee CBZ:stä kestävämmän korkean DPI:n laitteille ja valinnaisen oikeuksien hallinnan. |
| Turvallisuustietoisuus | Zip‑pommi-hyökkäykset (pieni ZIP → gigatavuja purettuna) ovat todellinen uhka. | Lukijat asettavat nyt pakkausten purkukoon rajoituksia ja käyttävät turvallisia kirjastoja (esim. Pythonin zipfile tarkistuksilla). |
Turvallisuusvinkki kehittäjille
Varmista aina pakatun tiedoston kokonaispurkukoko ennen CBZ:n purkamista. Yksinkertainen tarkistus (kuten Python‑esimerkissä) estää haitallisia arkistoja kuluttamasta levytilaa tai muistia.
Kuinka lukija oikeasti renderöi CBZ:n
- Avaa arkisto – Sovellus lukee ZIP‑keskushakemiston saadakseen nopean indeksin merkinnöistä.
- Suodata kuvatiedostot – Ei‑kuva-merkinnät (
ComicInfo.xml,__MACOSX/, jne.) ohitetaan. - Lajittele aakkosjärjestykseen – Nollilla täytetyn nimeämisen vuoksi lajiteltu lista vastaa haluttua sivujärjestystä.
- Jäsennä metatiedot – Jos
ComicInfo.xmlon olemassa, lukija poimii sivutyypin liput, otsikon, tekijän jne., ja voi piilottaa sivut, jotka on merkittyAdverttaiDeleted. - Renderöi sivut – Kuvat puretaan (usein laitteistokiihdytetyillä JPEG/WebP‑purkajilla nykyaikaisissa e‑ink‑tableteissa) ja näytetään yksi‑kerrallaan, ennakoiden seuraavat muutamat sivut sujuvaa vieritystä varten.
- Säilytä tila – Lukupaikka, kirjanmerkit ja annotaatiot tallennetaan paikallisesti tai synkronoidaan pilveen, sovelluksesta riippuen.
Se on syy siihen, miksi CBZ tuntuu yhtä nopealta ja reagoivalta kuin natiivi PDF, mutta pysyy täysin avoimena ja muokattavana.
Yhteenveto: CBZ:n eleganssi piilee sen yksinkertaisuudessa — tavallinen ZIP, jonka kuka tahansa voi avata, muokata tai käyttää uudelleen. Valinnaisen ComicInfo.xml -metatiedon, nykyaikaisten kuvakoodekkien ja nousevien standardien avulla se jatkaa kehittymistään pysyen uskollisena DRM‑vapaalle, monialustaiselle alkuperälleen.