CALIBRE-DEBUG(1)
π NAME π
calibre-debug β bestie, it's literally the calibre-debug command, and it's giving "swiss army knife but make it terminal" π₯
calibre-debug [options]
Okay so picture this: it's a whole grab-bag of command line interfaces that are chef's kiss for debugging calibre. No options at all? Then this command just starts an embedded Python interpreter, no big deal, very demure. But you can also run the main calibre GUI, the calibre E-book viewer, and the calibre editor in debug mode. Iconic behaviour, honestly. β¨
It also has interfaces into all the little bits of calibre that never got their own dedicated command line tools β font subsetting, the E-book diff tool, that whole crew. They live here. π«Ά
You can also use calibre-debug to run standalone scripts, and the way you do that is:
calibre-debug -e myscript.py -- --option1 --option2 file1 file2 ...
Everything after the -- gets passed straight to the script, no gatekeeping. You can even use calibre-debug as a shebang in your scripts, like this:
#!/usr/bin/env -S calibre-debug -e -- --
Heads up bestie π whenever you pass arguments tocalibre-debugthat have spaces in them, wrap them in quotation marks. Like:"/some path/with spaces"β do not skip this, she will not understand you otherwise.
β¨ OPTIONS β¨
--add-simple-pluginβ Add a simple plugin β and by "simple" we mean a plugin that's literally just a.pyfile, nothing more β by specifying the path to the py file containing the plugin code. So easy, so slay. π--command,-cβ Run Python code. Just... run it. β¨--debug-device-driver,-dβ Debug device detection π--default-programsβ (Un)register calibre from Windows Default Programs.
--default-programs = (register|unregister)
--diffβ Run the calibre diff tool. For example:
calibre-debug --diff file1 file2
--edit-bookβ Launch the calibre "Edit book" tool in debug mode. And just like with-g, use--to pass command line arguments. π¦--exec-file,-eβ Run the Python code in file.--explode-book,-xβ Explode the book into the specified folder. Usage:
-x file.epub output_dir
This exports the book as a collection of HTML files and metadata, which you can edit using standard HTML editing tools. Works with EPUB, AZW3, HTMLZ and DOCX files. Deconstruct era fr fr π
--export-all-calibre-dataβ Export all calibre data (books/settings/plugins). Normally, you will be asked for the export folder and the libraries to export. You can also specify them as command line arguments to skip the questions β but use absolute paths for the export folder and libraries, no shortcuts. The special keyword"all"can be used to export all libraries. Examples:
calibre-debug --export-all-calibre-data # for interactive use
calibre-debug --export-all-calibre-data /path/to/empty/export/folder /path/to/library/folder1 /path/to/library2
calibre-debug --export-all-calibre-data /export/folder all # export all known libraries
--gui,-gβ Run the GUI with debugging enabled. Debug output is printed to stdout and stderr. To pass command line arguments use--followed by the arguments, for example:
calibre-debug -g -- /path/to/ebook
--gui-debugβ Run the GUI with a debug console, logging to the specified path. For internal use only bestie β you want the-goption to run the GUI in debug mode. π--help,-hβ show this help message and exit--implode-book,-iβ Implode a previously exploded book. Usage:
-i output_dir file.epub
Imports the book from the files in output_dir, which must have been created by a previous call to --explode-book. And be sure to specify the same file type as was used when exploding, okay? Consistency is the vibe. π
--import-calibre-dataβ Import previously exported calibre data π₯--inspect-mobi,-mβ Inspect the MOBI file(s) at the specified path(s) π--kepubifyβ Convert the specified EPUB file to KEPUB without doing a full conversion. This is what the Kobo driver does when sending files to the device. Lowkey the exact same glow-up. β¨--pathsβ Output the paths necessary to setup the calibre environment π--run-plugin,-rβ Run a plugin that provides a command line interface. For example:
calibre-debug -r "Plugin name" -- file1 --option1
Everything after the -- will be passed to the plugin as arguments. Periodt. π
--run-test,-tβ Run the named test(s). Use the special value"all"to run all tests. If the test name starts with a period it is assumed to be a module name. If the test name starts with@it is assumed to be a category name. π§--run-without-debugβ Don't run with the DEBUG flag set π--shutdown-running-calibre,-sβ Cause a running calibre instance, if any, to be shutdown. > Note that if there are running jobs, they will be silently aborted, so use with care. Not me warning you dramatically but also meaning it π--subset-font,-fβ Subset the specified font. Use--after this option to pass option to the font subsetting program.--test-buildβ Test binary modules in build π₯--un-kepubifyβ Convert the specified KEPUB file to EPUB without doing a full conversion. This is what the Kobo driver does when importing files from the device. The reverse glow-down, if you will. π--versionβ show program's version number and exit--viewer,-wβ Run the E-book viewer in debug mode. And as with-g, use--to pass command line arguments. π¦
πΈ Author πΈ
Kovid Goyal
πΈ Copyright πΈ
Kovid Goyal
okay that's the whole page, you're welcome π this was version 9.14.0, dated August 28, 2026 β written by the one and only, main character energy, no cap. bye bestie, go debug something πβ¨
π¦ where this page comes from
- arch rolling: calibre 9.14.0-5 Β· GPL-3.0-only
- nixos 26.05: calibre 9.14.0
- ubuntu stonking: calibre 9.14.0+ds+~0.10.6-2build1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms