Ostatnia aktualizacja: 28 lipca 2026

TL;DR CBZ (Comic Book Zip) to nic więcej niż standardowe archiwum ZIP, które grupuje serię kolejnych plików graficznych — plus opcjonalne metadane — w jeden, wolny od DRM kontener komiksowy. Ponieważ opiera się na powszechnym formacie ZIP, każde narzędzie archiwizujące może je otworzyć, a czytniki po prostu sortują obrazy alfabetycznie, aby wyświetlić strony w kolejności. Nowoczesne pliki CBZ często zawierają ComicInfo.xml dla bogatych danych bibliotecznych, używają wydajnych kodeków obrazu takich jak WebP/AVIF, a nawet osadzają HTML dla interaktywnych „rozszerzonych” komiksów.
Czym dokładnie jest CBZ?
- Nazwa: Comic Book Zip – plik ZIP z rozszerzeniem
.cbz. - Typ MIME:
application/vnd.comicbook+zip(zarejestrowany w IANA w 2012 roku). - Pochodzenie: Spopularyzowane przez społeczność ComicRack (2005‑2008) jako otwarto‑źródłowa alternatywa dla własnościowych formatów takich jak CBR lub PDF.
- Wieloplatformowy: Można otworzyć dowolnym narzędziem kompatybilnym z ZIP (7‑Zip, WinRAR, macOS Archive Utility, Linux
unzip). Nie jest wymagane żadne specjalne oprogramowanie do przeglądania zawartości.
W praktyce CBZ to po prostu folder z obrazami (JPEG, PNG, WebP itp.) spakowany do archiwum ZIP i przemianowany. Ta prostota jest powodem, że stał się de‑facto standardem dla cyfrowych komiksów na komputerach, tabletach i telefonach.
Wewnątrz CBZ: Struktura pliku
Poprawnie sformatowany CBZ ma płaską strukturę – bez dodatkowego zagnieżdżania – dzięki czemu czytniki mogą natychmiast odnaleźć strony. Poniżej typowy widok drzewa:
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
Kluczowe elementy
| Element | Co to jest | Dlaczego to ma znaczenie |
|---|---|---|
| Kolejne pliki graficzne | Nazwane tak, aby sortowały się alfabetycznie (001.jpg, 002.jpg, …) | Gwarantuje prawidłową kolejność stron we wszystkich czytnikach. |
| Format obrazu | JPEG, PNG, GIF, WebP, AVIF, BMP, TIFF | Określa rozmiar pliku, jakość wizualną i kompatybilność z urządzeniami. |
| ComicInfo.xml | Opcjonalny XML zgodny ze schematem ComicRack | Przechowuje tytuł, autora, serię, numer wydania, język, flagi typu strony oraz nawet dane miniatury. Umożliwia zaawansowane zarządzanie biblioteką. |
| Obraz okładki | cover.jpg/cover.png w katalogu głównym | Używane przez wiele aplikacji jako miniatura komiksu w galeriach. |
| Nazwy plików Unicode | Nowoczesny ZIP obsługuje UTF‑8 | Niezbędne dla tytułów niełacińskich i międzynarodowych komiksów. |
| Centralny katalog ZIP | Indeks na końcu archiwum | Czytniki odczytują to, aby szybko zbudować listę stron; uszkodzenie w tym miejscu może zepsuć cały plik CBZ. |
Ponieważ archiwum kompresuje tylko już skompresowane obrazy, ostateczny rozmiar to zazwyczaj jedynie suma oryginalnych plików plus kilka kilobajtów narzutu ZIP (< 5 %).
Magia Metadanych: ComicInfo.xml i Flagi Typu Strony
Podczas gdy plik CBZ działa perfekcyjnie bez dodatkowych plików, dodanie ComicInfo.xml zamienia prostą stos obrazów w przeszukiwalny, bogato opisany komiks. Oto minimalny przykład:
<?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>
Po co się trudzić?
- Narzędzia biblioteczne (ComicRack, Calibre itp.) mogą sortować, filtrować i wyszukiwać na podstawie tych pól.
- Flagi typu stron (
FrontCover,BackCover,Advert,Deleteditp.) pozwalają czytelnikom ukrywać reklamy, wyświetlać tylko strony fabularne lub pokazać niestandardową miniaturę okładki. - Przyszłościowa kompatybilność – Ponieważ Digital Comics Initiative opracowuje specyfikację CBZ v2.0, plik manifestu (
manifest.json) może stać się obowiązkowy, ale istniejące czytniki nadal będą obsługiwaćComicInfo.xml.
Tworzenie i Konwertowanie Plików CBZ (Krok po Kroku)
1. Przygotuj Swoje Obrazy
- Eksportuj każdą stronę komiksu jako obraz.
- Nazwij je numerami z wiodącymi zerami (
001.jpg,002.jpg, …), aby zapewnić prawidłowe sortowanie. - Wybierz kodek odpowiedni dla swojej publiczności: JPEG dla najmniejszego rozmiaru, PNG dla bezstratnej grafiki, WebP/AVIF dla nowoczesnej, wysokiej jakości kompresji.
2. (Opcjonalnie) Wygeneruj Metadane
Narzędzia takie jak ComicTagger, cbr2cbz lub własne skrypty mogą automatycznie wypełniać ComicInfo.xml przy użyciu OCR + LLMs. Ten krok jest opcjonalny, ale zdecydowanie zalecany dla dużych bibliotek.
3. Spakuj To
# 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
Zmień nazwę otrzymanego pliku .zip na .cbz, jeśli Twój archiwizator nie zrobił tego automatycznie.
4. Zweryfikuj Archiwum
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)
Uruchomienie python list_pages.py MyComic.cbz powinno wyświetlić czystą, uporządkowaną listę nazw plików stron.
5. Konwertuj do PDF (jeśli potrzebujesz wersji do druku)
unzip -q MyComic.cbz -d tmp_pages
convert tmp_pages/*.jpg MyComic.pdf # ImageMagick's `convert`
rm -r tmp_pages
Trendy, Bezpieczeństwo i Przyszłość CBZ
| Trend | Co się dzieje | Wpływ na CBZ |
|---|---|---|
| Dystrybucja najpierw w sieci | Wydawcy przechowują pliki CBZ w chmurze z pre‑podpisanymi adresami URL. | Szybsze, pobrania bez DRM; łatwiejsze samodzielne publikowanie. |
| Komiksy hybrydowe/interaktywne | Dodanie index.html + zasobów do archiwum tworzy „rozszerzone” komiksy (audio, wideo, HTML5). | Czytniki obsługujące widok internetowy mogą renderować warstwy multimedialne. |
| Adopcja WebP i AVIF | ~15 % nowych wydań (2024) używa tych kodeków. | Redukcja rozmiaru o 30‑50 % przy zachowaniu jakości — kluczowa dla przepustowości mobilnej. |
| Metadane generowane przez AI | Narzędzia takie jak ComicTagger teraz używają OCR + LLM‑ów, aby wypełnić ComicInfo.xml. | Lepsza wykrywalność, automatyczne tagowanie i organizacja biblioteki. |
| Aplikacje do czytania z synchronizacją w chmurze | Chunky, Perfect Viewer i inne synchronizują postęp za pomocą Firebase/iCloud. | Płynne czytanie na telefonach, tabletach i komputerach stacjonarnych. |
| Dążenie do standaryzacji (CBZ v2.0) | DCI proponuje obowiązkowy manifest.json, zasoby wielorozdzielczościowe oraz flagę <DRM>. | Sprawi, że CBZ będzie bardziej odporny na urządzenia o wysokiej rozdzielczości DPI oraz umożliwi opcjonalne zarządzanie prawami. |
| Świadomość bezpieczeństwa | Ataki typu zip‑bomb (mały ZIP → gigabajty po rozpakowaniu) są realnym zagrożeniem. | Czytniki teraz wymuszają limity rozmiaru rozpakowywania i używają bezpiecznych bibliotek (np. zipfile w Pythonie z kontrolą). |
Wskazówka bezpieczeństwa dla programistów
Zawsze weryfikuj całkowity rozmiar po rozpakowaniu przed wyodrębnieniem pliku CBZ. Proste sprawdzenie (jak pokazano w fragmencie Pythona) zapobiega wyczerpaniu miejsca na dysku lub pamięci przez złośliwe archiwa.
Jak czytnik naprawdę renderuje plik CBZ
- Otwórz archiwum – Aplikacja odczytuje centralny katalog ZIP, aby uzyskać szybki indeks wpisów.
- Filtruj pliki graficzne – Nie‑obrazowe wpisy (
ComicInfo.xml,__MACOSX/itp.) są ignorowane. - Sortuj alfabetycznie – Dzięki nazwom z wypełnieniem zerami, posortowana lista odpowiada zamierzonej kolejności stron.
- Parsuj metadane – Jeśli istnieje
ComicInfo.xml, czytnik wyodrębnia flagi typu strony, tytuł, autora itp., i może ukrywać strony oznaczone jakoAdvertlubDeleted. - Render pages – Obrazy są dekodowane (często przy użyciu sprzętowo przyspieszonych dekoderów JPEG/WebP w nowoczesnych tabletach e‑ink) i wyświetlane pojedynczo, z wstępnym pobieraniem kilku kolejnych stron dla płynnego przewijania.
- Persist state – Pozycja czytania, zakładki i adnotacje są zapisywane lokalnie lub synchronizowane z chmurą, w zależności od aplikacji.
Ta kolejka przetwarzania wyjaśnia, dlaczego CBZ jest tak szybki i responsywny jak natywny PDF, a jednocześnie pozostaje całkowicie otwarty i edytowalny.
Bottom line: Elegancja CBZ tkwi w jego prostocie — zwykłym pliku ZIP, który każdy może otworzyć, edytować lub przekształcić. Dzięki opcjonalnym metadanym ComicInfo.xml, nowoczesnym kodekom obrazu i rozwijającym się standardom, nadal się rozwija, pozostając wierny swoim wolnym od DRM, wieloplatformowym korzeniom.