Kindle Comic Converter is a Python app to convert comic/manga files or folders to EPUB, Panel View MOBI or E-Ink optimized CBZ. It was initially developed for Kindle but since version 4.6 it outputs valid EPUB 3.0 so despite its name, KCC is actually a comic/manga to EPUB converter that every e-reader owner can happily use. It can also optionally optimize images by applying a number of transformations.
A word of warning
KCC is not Amazon's Kindle Comic Creator nor is in any way endorsed by Amazon. Amazon's tool is for comic publishers and involves a lot of manual effort, while KCC is for comic/manga readers. KC2 in no way is a replacement for KCC so you can be quite confident we are going to carry on developing our little monster ;-)
Issues / new features / donations
If you have general questions about usage, feedback etc. please post it here. If you have some technical problems using KCC please file an issue here. If you can fix an open issue, fork & make a pull request.
If you find KCC valuable you can consider donating to the authors:
Click on Assets of the latest release.
You probably want either
c2p versions are command line tools for power users.
On Windows 11, you may need to run in compatibility mode for an older Windows version.
On Mac, right click open to get past the security warning.
For flatpak, Docker, and AppImage versions, refer to the wiki: https://github.com/ciromattia/kcc/wiki/Installation
You'll need to install various tools to access important but optional features.
The installation process has been greatly streamlined. No need to add 7z to PATH or locate KindleGen from the internet and put it in a special folder with KCC. Just run it and KCC will tell you what to install.
First install 7z from https://www.7-zip.org/ or with command line:
winget install --id 7zip.7zip
with Homebrew installed
brew install p7zip brew install unar
Windows / macOS KindleGen
Install Kindle Previewer 3 (KP3). KCC will automatically detect KindleGen from it.
KCC can understand and convert, at the moment, the following input types:
- Folders containing: PNG, JPG, GIF or WebP files
- CBZ, ZIP (With
- CBR, RAR (With
- CB7, 7Z (With
- PDF (Only extracting JPG images)
Should be pretty self-explanatory. All options have detailed information in tooltips. After completed conversion, you should find ready file alongside the original input file (same directory).
Please check our wiki for more details.
CLI version of KCC is intended for power users. It allows using options that might not be compatible and decrease the quality of output. CLI version has reduced dependencies, on Debian based distributions this commands should install all needed dependencies:
sudo apt-get install python3 p7zip-full python3-pil python3-psutil python3-slugify
'K1': ("Kindle 1", (600, 670), Palette4, 1.8), 'K11': ("Kindle 11", (1072, 1448), Palette16, 1.8), 'K2': ("Kindle 2", (600, 670), Palette15, 1.8), 'K34': ("Kindle Keyboard/Touch", (600, 800), Palette16, 1.8), 'K578': ("Kindle", (600, 800), Palette16, 1.8), 'KDX': ("Kindle DX/DXG", (824, 1000), Palette16, 1.8), 'KPW': ("Kindle Paperwhite 1/2", (758, 1024), Palette16, 1.8), 'KV': ("Kindle Paperwhite 3/4/Voyage/Oasis", (1072, 1448), Palette16, 1.8), 'KPW5': ("Kindle Paperwhite 5/Signature Edition", (1236, 1648), Palette16, 1.8), 'KO': ("Kindle Oasis 2/3", (1264, 1680), Palette16, 1.8), 'KS': ("Kindle Scribe", (1860, 2480), Palette16, 1.8), 'KoMT': ("Kobo Mini/Touch", (600, 800), Palette16, 1.8), 'KoG': ("Kobo Glo", (768, 1024), Palette16, 1.8), 'KoGHD': ("Kobo Glo HD", (1072, 1448), Palette16, 1.8), 'KoA': ("Kobo Aura", (758, 1024), Palette16, 1.8), 'KoAHD': ("Kobo Aura HD", (1080, 1440), Palette16, 1.8), 'KoAH2O': ("Kobo Aura H2O", (1080, 1430), Palette16, 1.8), 'KoAO': ("Kobo Aura ONE", (1404, 1872), Palette16, 1.8), 'KoN': ("Kobo Nia", (758, 1024), Palette16, 1.8), 'KoC': ("Kobo Clara HD/Kobo Clara 2E", (1072, 1448), Palette16, 1.8), 'KoL': ("Kobo Libra H2O/Kobo Libra 2", (1264, 1680), Palette16, 1.8), 'KoF': ("Kobo Forma", (1440, 1920), Palette16, 1.8), 'KoS': ("Kobo Sage", (1440, 1920), Palette16, 1.8), 'KoE': ("Kobo Elipsa", (1404, 1872), Palette16, 1.8), 'OTHER': ("Other", (0, 0), Palette16, 1.8),
usage: kcc-c2e [options] [input] MANDATORY: input Full path to comic folder or file(s) to be processed. MAIN: -p PROFILE, --profile PROFILE Device profile (Available options: K1, K2, K34, K578, KDX, KPW, KPW5, KV, KO, K11, KS, KoMT, KoG, KoGHD, KoA, KoAHD, KoAH2O, KoAO, KoN, KoC, KoL, KoF, KoS, KoE) [Default=KV] -m, --manga-style Manga style (right-to-left reading and splitting) -q, --hq Try to increase the quality of magnification -2, --two-panel Display two not four panels in Panel View mode -w, --webtoon Webtoon processing mode --ts TARGETSIZE, --targetsize TARGETSIZE the maximal size of output file in MB. [Default=100MB for webtoon and 400MB for others] PROCESSING: -n, --noprocessing Do not modify image and ignore any profil or processing option -u, --upscale Resize images smaller than device's resolution -s, --stretch Stretch images to device's resolution -r SPLITTER, --splitter SPLITTER Double page parsing mode. 0: Split 1: Rotate 2: Both [Default=0] -g GAMMA, --gamma GAMMA Apply gamma correction to linearize the image [Default=Auto] -c CROPPING, --cropping CROPPING Set cropping mode. 0: Disabled 1: Margins 2: Margins + page numbers [Default=2] --cp CROPPINGP, --croppingpower CROPPINGP Set cropping power [Default=1.0] --cm CROPPINGM, --croppingminimum CROPPINGM Set cropping minimum area ratio [Default=0.0] --blackborders Disable autodetection and force black borders --whiteborders Disable autodetection and force white borders --forcecolor Don't convert images to grayscale --forcepng Create PNG files instead JPEG --mozjpeg Create JPEG files using mozJpeg --maximizestrips Turn 1x4 strips to 2x2 strips -d, --delete Delete source file(s) or a directory. It's not recoverable. OUTPUT SETTINGS: -o OUTPUT, --output OUTPUT Output generated file to specified directory or file -t TITLE, --title TITLE Comic title [Default=filename or directory name] -f FORMAT, --format FORMAT Output format (Available options: Auto, MOBI, EPUB, CBZ, KFX, MOBI+EPUB) [Default=Auto] -b BATCHSPLIT, --batchsplit BATCHSPLIT Split output into multiple files. 0: Don't split 1: Automatic mode 2: Consider every subdirectory as separate volume [Default=0] CUSTOM PROFILE: --customwidth CUSTOMWIDTH Replace screen width provided by device profile --customheight CUSTOMHEIGHT Replace screen height provided by device profile OTHER: -h, --help Show this help message and exit
usage: kcc-c2p [options] [input] MANDATORY: input Full path to comic folder(s) to be processed. Separate multiple inputs with spaces. MAIN: -y HEIGHT, --height HEIGHT Height of the target device screen -i, --in-place Overwrite source directory -m, --merge Combine every directory into a single image before splitting OTHER: -d, --debug Create debug file for every split image -h, --help Show this help message and exit
This script born as a cross-platform alternative to
KindleComicParser by Dc5e (published here).
The app relies and includes the following scripts:
DualMetaFixscript by K. Hendricks. Released with GPL-3 License.
image.pyclass from Alex Yatskov's Mangle with subsequent proDOOMman's and Birua's patches.
- Icon is by Nikolay Verin (http://ncrow.deviantart.com/) and released under CC BY-NC-SA 3.0 License.
SAMPLE FILES CREATED BY KCC
- Kindle Oasis 2 / 3
- Kindle Paperwhite 3 / 4 / Voyage / Oasis
- Kindle Paperwhite 1 / 2
- Kobo Aura
- Kobo Aura HD
- Kobo Aura H2O
- Kobo Aura ONE
- Kobo Forma
KCC is initiating internet connections in two cases:
- During startup - Version check.
- When error occurs - Automatic reporting on Windows and macOS.
Please check wiki page.
Copyright (c) 2012-2023 Ciro Mattia Gonano, Paweł Jastrzębski and Darodi.
KCC is released under ISC LICENSE; see LICENSE.txt for further details.