Skip to content

About

Cross-platform desktop ebook converter. Calibre-grade conversion, no Calibre.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

eConverter Desktop

CI Release

Desktop ebook converter — epub, mobi, azw3, docx and more. Wraps ebook-converter-lib, the Calibre-derived conversion engine, and boko through boko-python in a small Tkinter GUI. Desktop counterpart to the Android app eConverter.

Download

Prebuilt bundles for macOS, Linux and Windows are attached to every release. They are unsigned: on macOS use right-click → Open, or run xattr -dr com.apple.quarantine eConverter.app.

Supported formats

Choose auto (the default), calibre, or boko in the backend selector. Output choices and the file picker follow the selected backend. Selected files are retained when switching; incompatible inputs are reported before conversion.

Calibre

Input: azw, azw3, docm, docx, epub, fb2, fbz, htm, html, htmlz, lrf, markdown, md, mobi, odt, opf, pdb, pdf, pobi, prc, rtf, shtm, shtml, text, textile, txt, txtz, updb, xhtm, xhtml

Output: azw3, docx, epub, fb2, html, htmlz, lrf, mobi, oeb, txt, txtz

Calibre's lists are read from its plugins at startup.

Boko

Input: epub, kfx, azw3, mobi

Output: epub, kfx, azw3, md

Direct conversion uses the native Boko engine without running Calibre.

Auto

Accepts both engines' inputs and outputs. KFX input is converted to a temporary EPUB by Boko before Calibre runs. For KFX or Markdown output, Calibre produces a temporary EPUB and Boko writes the final file. Other conversions use Calibre. Temporary files are removed on success or failure.

PDF input supports text-based PDFs. Text, embedded images, bookmarks (as table of contents), title and a first-page cover are read with PDFium. Scanned PDFs require OCR, which is not supported. PDF input requires auto or calibre.

Development

uv sync --group dev
uv run python -m econverter_desktop   # run the GUI
uv run pytest
uv run ruff check .
uv run ruff format --check .

CI runs the same checks on Linux, macOS and Windows, plus real Calibre, Auto KFX, direct Boko, and PDF→epub conversions on each. See AGENTS.md and CODEBASE_MAP.md.

Build a standalone app

uv run pyinstaller econverter.spec

Output lands in dist/ — eConverter.app on macOS, dist/econverter/ with an econverter executable on Linux and Windows. PyInstaller does not cross-compile, so releases are built by a three-OS GitHub Actions matrix.

Headless conversion

Passing an input file and an output format converts without opening the GUI — useful for scripting and for smoke-testing a frozen build:

uv run python -m econverter_desktop book.docx epub
uv run python -m econverter_desktop book.epub kfx boko
./dist/eConverter.app/Contents/MacOS/econverter book.docx epub

The optional third argument selects auto, calibre, or boko; omitted means auto. Existing two-argument commands still work.

License

GPL-3.0-or-later, inherited from Calibre via ebook-converter-lib. The icon is taken from the Android eConverter app.

About

Cross-platform desktop ebook converter. Calibre-grade conversion, no Calibre.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages