Kindle Comic Converter logo

Kindle Comic Converter ciromattia

Use this command to install Kindle Comic Converter:
winget install --id=ciromattia.KCC -e

Kindle Comic Converter is a Python app to convert comic/manga files or folders to EPUB, Panel View MOBI or E-Ink optimized CBZ.

Kindle Comic Converter (KCC) Description

Primary Purpose: Kindle Comic Converter is a versatile Python application designed to convert comic and manga files into formats optimized for e-readers such as Kindle, Kobo, and ReMarkable. It streamlines the process of preparing digital comics for reading on devices with e-ink screens.

Key Features:

  • Supported Formats: Converts image files (JPG, PNG, GIF, etc.) and PDFs into EPUB, MOBI, KEPUB, and CBZ formats.
  • Image Processing: Enhances readability on e-ink devices through adjustments like gamma correction and contrast optimization.
  • Device Optimization: Tailors output to specific device resolutions, reducing file sizes while maintaining quality.
  • Fix Common Issues: Addresses problems such as faded text, improper margins, and incorrect page directions for manga.

Audience & Benefit: Ideal for comic and manga readers seeking high-quality, optimized digital content. KCC offers improved readability, reduced file sizes, and fixes common formatting issues, enhancing the reading experience on e-readers.

This tool ensures that your comics are not only easily readable but also efficiently stored, making it a must-have for any avid reader of digital comics.

README

KCC

GitHub release GitHub Workflow Status Github All Releases

Kindle Comic Converter optimizes black & white comics and manga for E-ink ereaders like Kindle, Kobo, ReMarkable, and more. Pages display in fullscreen without margins, with proper fixed layout support. Supported input formats include JPG/PNG/GIF image files in folders, archives, or PDFs. Supported output formats include MOBI/AZW3, EPUB, KEPUB, and CBZ.

If your source are super high resolution DRM-free PDFs from Kodansha/Humble Bundle/Fanatical, you'll need to first convert the PDFs to CBZ for use in KCC.

Its main feature is various optional image processing steps to look good on eink screens, which have different requirements than normal LCD screens. Combining that with downscaling to your specific device's screen resolution can result in filesize reductions of hundreds of MB per volume with no visible quality loss on eink. This can also improve battery life, page turn speed, and general performance on underpowered ereaders with small storage capacities.

KCC avoids many common formatting issues (some of which occur even on the Kindle Store), such as:

  1. faded black levels causing unneccessarily low contrast, which is hard to see and can cause eyestrain.
  2. unneccessary margins at the bottom of the screen
  3. Not utilizing the full 1860x2480 resolution of the 10" Kindle Scribe (feature in progress)
  4. incorrect page turn direction for manga that's read right to left
  5. unaligned two page spreads in landscape, where pages are shifted over by 1

The GUI looks like this, built in Qt6, with my most commonly used settings:

image

Simply drag and drop your files/folders into the KCC window, adjust your settings (hover over each option to see details in a tooltip), and hit convert to create ereader optimized files. You can change the default output directory by holding Shift while clicking the convert button. Then just drag and drop the generated output files onto your device's documents folder via USB. If you are on macOS and use a 2022+ Kindle, you may need to use Amazon USB File Manager for Mac.

YouTube tutorial (please subscribe): https://www.youtube.com/watch?v=IR2Fhcm9658

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:

  • Ciro Mattia Gonano (founder, active 2012-2014):

    Donate PayPal

  • Paweł Jastrzębski (active 2013-2019):

    Donate PayPal Donate Bitcoin

  • Alex Xu (active 2023-Present)

    ko-fi

Sponsors

DOWNLOADS

Click on Assets of the latest release.

You probably want either

  • KCC_*.*.*.exe (Windows)
  • kcc_macos_arm_*.*.*.dmg (recent Mac with Apple Silicon M1 chip or later)
  • kcc_macos_i386_*.*.*.dmg (older Mac with Intel chip)

The c2e and 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

FAQ

  • All options have additional information in tooltips if you hover over the option.
  • How to make AZW3 instead of MOBI?
    • The .mobi file generated by KCC is a dual filetype, it's both MOBI and AZW3. The file extension is .mobi for compatibility reasons.
  • Windows 7 support
  • Combine files/chapters
  • Flatpak mobi conversion stuck
  • Image too dark?
    • The default gamma correction of 1.8 makes the image darker, and is useful for faded/gray artwork/text. Disable by setting gamma = 1.0
  • Better PDF support (Humble Bundle, Fanatical, etc)
  • Cannot connect Kindle Scribe or 2024+ Kindle to macOS
    • Use official MTP Amazon USB File Transfer app (no login required). Works much better than previously recommended Android File Transfer. Cannot run simutaneously with other transfer apps.
  • Huge margins / slow page turns?
    • You likely modified the file during transfer using a 3rd party app. Try simply dragging and dropping the final mobi/kepub file into the Kindle documents folder via USB.

PREREQUISITES

You'll need to install various tools to access important but optional features. Close and re-open KCC to get KCC to detect them.

KindleGen

On Windows and macOS, install Kindle Previewer and kindlegen will be autodetected from it.

If you have issues detecting it, get stuck on the MOBI conversion step, or use Linux AppImage or Flatpak, refer to the wiki: https://github.com/ciromattia/kcc/wiki/Installation#kindlegen

7-Zip

This is optional but will make conversions much faster.

This is required for certain files and advanced features.

KCC will ask you to install if needed.

Refer to the wiki to install: https://github.com/ciromattia/kcc/wiki/Installation#7-zip

INPUT FORMATS

KCC can understand and convert, at the moment, the following input types:

  • Folders containing: PNG, JPG, GIF or WebP files
  • CBZ, ZIP (With 7z executable)
  • CBR, RAR (With 7z executable)
  • CB7, 7Z (With 7z executable)
  • PDF (Only extracting JPG images)

USAGE

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

Profiles:

        '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),
        'K57': ("Kindle 5/7", (600, 800), Palette16, 1.8),
        'K810': ("Kindle 8/10", (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 Voyage, (1072, 1448), Palette16, 1.8),
        'KPW34': ("Kindle Paperwhite 3/4/Oasis", (1072, 1448), Palette16, 1.8),
        'KPW5': ("Kindle Paperwhite 5/Signature Edition", (1236, 1648), Palette16, 1.8),
        'KO': ("Kindle Oasis 2/3/Paperwhite 12/Colorsoft 12", (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),
        'KoCC': ("Kobo Clara Colour", (1072, 1448), Palette16, 1.8),
        'KoL': ("Kobo Libra H2O/Kobo Libra 2", (1264, 1680), Palette16, 1.8),
        'KoLC': ("Kobo Libra Colour", (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),
        'Rmk1': ("reMarkable 1", (1404, 1872), Palette16, 1.8),
        'Rmk2': ("reMarkable 2", (1404, 1872), Palette16, 1.8),
        'RmkPP': ("reMarkable Paper Pro", (1620, 2160), Palette16, 1.8),
        'OTHER': ("Other", (0, 0), Palette16, 1.8),

Standalone kcc-c2e.py usage:

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, KoCC, KoL, KoLC, 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]
  --preservemargin      After calculating crop, "back up" a specified percentage amount [Default=0]
  --cm CROPPINGM, --croppingminimum CROPPINGM
                        Set cropping minimum area ratio [Default=0.0]
  --ipc INTERPANELCROP, --interpanelcrop INTERPANELCROP
                        Crop empty sections. 0: Disabled 1: Horizontally 2: Both [Default=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]
  --comicinfotitle      Write title from ComicInfo.xml
  -a AUTHOR, --author AUTHOR
                        Author name [Default=KCC]
  -f FORMAT, --format FORMAT
                        Output format (Available options: Auto, MOBI, EPUB, CBZ, KFX, MOBI+EPUB) [Default=Auto]
  --nokepub             If format is EPUB, output file with '.epub' extension rather than '.kepub.epub'
  -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]
  --spreadshift         Shift first page to opposite side in landscape for two page spread alignment
  --norotate            Do not rotate double page spreads in spread splitter option.
  --reducerainbow       Reduce rainbow effect on color eink by slightly blurring images

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

Standalone kcc-c2p.py usage:

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

INSTALL FROM SOURCE

This section is for developers who want to contribute to KCC or power users who want to run the latest code without waiting for an official release.

Easiest to use GitHub Desktop to clone your fork of the KCC repo. From GitHub Desktop, click on Repository in the toolbar, then Command Prompt (Windows)/Terminal (Mac) to open a window in the KCC repo.

Depending on your system Python may be called either python or python3. We use virtual environments (venv) to manage dependencies.

If you want to edit the code, a good code editor is VS Code.

If you want to edit the .ui files, use pyside6-designer which is included in the pip install pyside6. Then use the gen_ui_files scripts to autogenerate the python UI.

An example PR adding a new checkbox is here: https://github.com/ciromattia/kcc/pull/785

Do not use git merge to merge master from upstream, use the "Sync fork" button on your fork on GitHub in your branch to avoid weird looking merges in pull requests.

When making changes, be aware of how your change might affect file splitting/chunking or chapter alignment.

Windows install from source

One time setup and running for the first time:

python -m venv venv
venv\Scripts\activate.bat
pip install -r requirements.txt
python kcc.py

Every time you close Command Prompt, you will need to re-activate the virtual environment and re-run:

venv\Scripts\activate.bat
python kcc.py

You can build a .exe of KCC like the downloads we offer with

python setup.py build_binary

macOS install from source

If the system installed Python gives you issues, please install the latest Python from either brew or the official website.

One time setup and running for the first time:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python kcc.py

Every time you close Terminal, you will need to reactivate the virtual environment and re-run:

source venv/bin/activate
python kcc.py

You can build a .app of KCC like the downloads we offer with

python setup.py build_binary

CREDITS

KCC is made by

This script born as a cross-platform alternative to KindleComicParser by Dc5e (published here).

The app relies and includes the following scripts:

SAMPLE FILES CREATED BY KCC

https://www.mediafire.com/folder/ixh40veo6hrc5/kcc_samples

Older links (dead):

PRIVACY

KCC is initiating internet connections in two cases:

  • During startup - Version check.
  • When error occurs - Automatic reporting on Windows and macOS.

KNOWN ISSUES

Please check wiki page.

COPYRIGHT

Copyright (c) 2012-2025 Ciro Mattia Gonano, Paweł Jastrzębski, Darodi and Alex Xu. KCC is released under ISC LICENSE; see LICENSE.txt for further details.

Versions
7.4.1
7.3.3
7.2.0
7.1.2
Website
License