EBOOK-CONVERT(1)

โœจ NAME โœจ

ebook-convert โ€” the little command that takes one e-book and spits out a whole different e-book, no cap ๐Ÿ‘‘

It lives inside calibre, bestie, and it is the main character of format conversion.


๐ŸŒˆ SYNOPSIS ๐ŸŒˆ

ebook-convert input_file output_file [options]

๐Ÿ’– DESCRIPTION ๐Ÿ’–

okay so here's the whole vibe: you're converting an e-book from one format to another. That's it. That's the job. ๐Ÿฆ‹

input_file is the input and output_file is the output. Both must be specified as the first two arguments to the command. Like, non-negotiable, they go first. ๐Ÿ’…

The output e-book format is guessed from the file extension of output_file. And listen โ€” output_file can also be in the special format .EXT, where EXT is the output file extension. When you do that, the name of the output file gets derived from the name of the input file โœจ. But note: the filenames must not start with a hyphen. Finally, if output_file has no extension at all, then it's treated as a folder, and an "open e-book" (OEB) made of HTML files gets written to that folder ๐ŸŽ€. These are the files that would normally have been passed to the output plugin. iykyk.

After you've specified the input and output file, you can customize the conversion by specifying various options ๐ŸŒธ. The available options depend on the input and output file types โ€” so which options exist is literally a whole different menu depending on what you're converting. To get help on them, specify the input and output file and then use the -h option.

For full documentation of the conversion system, go look at E-book conversion <#conversion> ๐Ÿ‘‘

Whenever you pass arguments to ebook-convert that have spaces in them, enclose the arguments in quotation marks. For example: "/some path/with spaces" โ€” yes bestie, quote it, or it will absolutely fall apart on you ๐Ÿ˜ญ

The options and default values for the options change depending on both the input and output formats, so you should always check with:

ebook-convert myfile.input_format myfile.output_format -h

Below are the options that are common to all conversion, followed by the options specific to every input and output format. ๐Ÿ’œ

  • Look and Feel
  • Heuristic Processing
  • Search and Replace
  • Structure Detection
  • Table of Contents
  • Metadata
  • Debug
  • AZW4 Input Options
  • CHM Input Options
  • Comic Input Options
  • DJVU Input Options
  • DOCX Input Options
  • EPUB Input Options
  • FB2 Input Options
  • HTLZ Input Options
  • HTML Input Options
  • LIT Input Options
  • LRF Input Options
  • MOBI Input Options
  • ODT Input Options
  • PDB Input Options
  • PDF Input Options
  • PML Input Options
  • RB Input Options
  • RTF Input Options
  • Recipe Input Options
  • SNB Input Options
  • TCR Input Options
  • TXT Input Options
  • AZW3 Output Options
  • DOCX Output Options
  • EPUB Output Options
  • FB2 Output Options
  • HTML Output Options
  • HTMLZ Output Options
  • KEPUB Output Options
  • LIT Output Options
  • LRF Output Options
  • MOBI Output Options
  • OEB Output Options
  • PDB Output Options
  • PDF Output Options
  • PML Output Options
  • RB Output Options
  • RTF Output Options
  • SNB Output Options
  • TCR Output Options
  • TXT Output Options
  • TXTZ Output Options

๐ŸŽ€ OPTIONS ๐ŸŽ€

  • --help, -h โ€” show this help message and exit. your bestie when you're lost, fr fr ๐Ÿ™ˆ
  • --input-profile โ€” Specify the input profile. The input profile gives the conversion system information on how to interpret various information in the input document. For example resolution dependent lengths (i.e. lengths in pixels). Choices are: cybookg3, cybook_opus, default, hanlinv3, hanlinv5, illiad, irexdr1000, irexdr800, kindle, msreader, mobipocket, nook, sony, sony300, sony900
  • --list-recipes โ€” List builtin recipe names. You can create an e-book from a builtin recipe like this: ebook-convert "Recipe Name.recipe" output.epub โœจ
  • --output-profile โ€” Specify the output profile. The output profile tells the conversion system how to optimize the created document for the specified device. In some cases, an output profile can be used to optimize the output for a particular device, but this is rarely necessary. Choices are: cybookg3, cybook_opus, default, generic_eink, generic_eink_hd, generic_eink_large, hanlinv3, hanlinv5, illiad, ipad, ipad3, irexdr1000, irexdr800, jetbook5, kindle, kindle_dx, kindle_fire, kindle_oasis, kindle_pw, kindle_pw3, kindle_scribe, kindle_voyage, kobo, msreader, mobipocket, nook, nook_color, nook_hd_plus, pocketbook_inkpad3, pocketbook_lux, pocketbook_hd, pocketbook_900, pocketbook_pro_912, galaxy, sony, sony300, sony900, sony-landscape, sonyt3, tablet ๐Ÿซถ
  • --version โ€” show program's version number and exit.

okay that's the opening act, bestie โ€” and there's so much more where that came fromโ€ฆ ๐ŸŒธ

โœจ LOOK AND FEEL โœจ

okay bestie, this whole section is basically the glow-up menu ๐ŸŒธ โ€” it's all the options that control how your finished book actually looks and feels. fonts, spacing, margins, punctuation, the whole aesthetic. let's get into it ๐Ÿ’…

  • --asciiize โ€” transliterates Unicode characters into an ASCII representation. use this one with care bestie, because it literally replaces Unicode characters with ASCII. like, it'll turn "Pelรฉ" into "Pele". ๐Ÿ˜ญ also heads up: when a character has multiple possible representations (like characters that Chinese and Japanese share), the representation picked will be based on the current calibre interface language. so like, it depends on the vibe of your setup.
  • --base-font-size โ€” the base font size in pts. every font size in the book it produces gets rescaled relative to this size. bigger value = bigger fonts in the output, smaller = smaller. by default, when the value is zero, the base font size is chosen based on the output profile you picked. ๐ŸŽ€
  • --change-justification โ€” changes text justification. a value of "left" converts all the justified text in the source into left aligned (aka unjustified) text. a value of "justify" converts all unjustified text into justified. a value of "original" (the default) leaves justification in the source file untouched. note that only some output formats even support justification, so don't be shocked if nothing happens. ๐Ÿ™ˆ
  • --disable-font-rescaling โ€” disables all rescaling of font sizes. periodt.
  • --embed-all-fonts โ€” embeds every font referenced in the input document that isn't already embedded. it'll search your system for the fonts, and if it finds them, boom, embedded โœจ. embedding only works if the format you're converting to supports embedded fonts, like EPUB, AZW3, DOCX, or PDF. and please, bestie, make sure you actually have the proper license for embedding the fonts used in the document. i'm not playing about this one.
  • --embed-font-family โ€” embeds the font family you specify into the book. this sets the "base" font used for the book. if the input document specifies its own fonts, those may override this base font. you can use the filter style information option to strip fonts out of the input document. note that font embedding only works with some output formats โ€” principally EPUB, AZW3, and DOCX. ๐Ÿ‘‘
  • --expand-css โ€” by default calibre uses the shorthand form for CSS properties like margin, padding, border, etc. this option makes it use the full expanded form instead. note that CSS is always expanded when generating EPUB files with the output profile set to one of the Nook profiles, because the Nook simply cannot handle shorthand CSS. it's giving picky reader energy. ๐Ÿ’€
  • --extra-css โ€” either the path to a CSS stylesheet, or raw CSS. this CSS gets appended to the style rules from the source file, so you can use it to override those rules. ๐Ÿฆ‹
  • --filter-css โ€” a comma separated list of CSS properties that will be removed from all CSS style rules. super useful if some style info is preventing your device from overriding it. for example: font-family,color,margin-left,margin-right
  • --font-size-mapping โ€” mapping from CSS font names to font sizes in pts. an example setting is 12,12,14,16,18,20,22,24. these are the mappings for the sizes xx-small to xx-large, with the final size being for huge fonts. the font rescaling algorithm uses these sizes to intelligently rescale fonts. the default is a mapping based on the output profile you chose.
  • --insert-blank-line โ€” inserts a blank line between paragraphs. won't work if the source file doesn't use paragraphs (<p> or <div> tags). no paragraphs, no blank lines, that's the deal ๐Ÿคท
  • --insert-blank-line-size โ€” sets the height of the inserted blank lines (in em). the height of the lines between paragraphs will be twice the value you set here. yes, double. that's not a typo.
  • --keep-ligatures โ€” preserves ligatures present in the input document. a ligature is a combined character made from a pair of characters, like ff, fi, fl, et cetera. most readers don't support ligatures in their default fonts, so they're unlikely to render correctly ๐Ÿ˜ฌ. by default, calibre turns a ligature into the corresponding pair of normal characters. note that "ligatures" here means only unicode ligatures โ€” not ligatures created via CSS or font styles. this option preserves them instead of converting.
  • --line-height โ€” the line height in pts. controls spacing between consecutive lines of text. only applies to elements that don't define their own line height. in most cases, the minimum line height option is more useful. by default, no line height manipulation is performed.
  • --linearize-tables โ€” some badly designed documents use tables to control layout of text on the page ๐Ÿคข. when converted, those documents often end up with text running off the page and all kinds of other artifacts. this option extracts the content from the tables and presents it in a linear fashion. fixer-upper energy.
  • --margin-bottom โ€” sets the bottom margin in pts. default is 5.0. setting this to less than zero means no margin gets set (the margin setting in the original document will be preserved). note: page oriented formats like PDF and DOCX have their own margin settings that take precedence. ๐Ÿ“
  • --margin-left โ€” sets the left margin in pts. default is 5.0. setting this to less than zero means no margin gets set (the margin setting in the original document will be preserved). note: page oriented formats like PDF and DOCX have their own margin settings that take precedence. ๐Ÿ“
  • --margin-right โ€” sets the right margin in pts. default is 5.0. setting this to less than zero means no margin gets set (the margin setting in the original document will be preserved). note: page oriented formats like PDF and DOCX have their own margin settings that take precedence. ๐Ÿ“
  • --margin-top โ€” sets the top margin in pts. default is 5.0. setting this to less than zero means no margin gets set (the margin setting in the original document will be preserved). note: page oriented formats like PDF and DOCX have their own margin settings that take precedence. ๐Ÿ“
  • --minimum-line-height โ€” the minimum line height, as a percentage of the element's calculated font size. calibre makes sure every element has a line height of at least this setting, no matter what the input document specifies. set it to zero to disable. default is 120%. use this in preference to the direct line height specification โ€” unless you know what you're doing. for example, you can get "double spaced" text by setting this to 240. slay. ๐Ÿ’…
  • --remove-paragraph-spacing โ€” removes spacing between paragraphs. also sets an indent on paragraphs of 1.5em. spacing removal won't work if the source file doesn't use paragraphs (<p> or <div> tags).
  • --remove-paragraph-spacing-indent-size โ€” when calibre removes blank lines between paragraphs, it automatically sets a paragraph indent so paragraphs are still easy to tell apart. this option controls the width of that indent (in em). if you set this value negative, then the indent specified in the input document is used instead โ€” meaning calibre doesn't change the indentation at all. ๐Ÿซถ
  • --smarten-punctuation โ€” converts plain quotes, dashes, and ellipsis into their typographically correct equivalents. for the details, it points you at: https://daringfireball.net/projects/smartypants
  • --subset-embedded-fonts โ€” subsets all embedded fonts. every embedded font gets reduced down to contain only the glyphs actually used in this document. this shrinks the size of the font files โœจ. super useful if you're embedding a particularly huge font with tons of unused glyphs.
  • --transform-css-rules โ€” path to a file containing rules that transform the CSS styles in this book. the easiest way to make such a file is to use the wizard for creating rules in the calibre GUI. you'll find it in the "Look & feel->Transform styles" section of the conversion dialog. once you've made your rules, hit the "Export" button to save them to a file. ๐ŸŽ€
  • --transform-html-rules โ€” path to a file containing rules that transform the HTML in this book. same deal: the easiest way to make one is the wizard for creating rules in the calibre GUI, found in the "Look & feel->Transform HTML" section of the conversion dialog. make your rules, then use the "Export" button to save them to a file. ๐ŸŽ€
  • --unsmarten-punctuation โ€” converts fancy quotes, dashes, and ellipsis into their plain equivalents. the un-glow-up. ๐Ÿ’€

๐Ÿฆ‹ HEURISTIC PROCESSING ๐Ÿฆ‹

okay bestie, so this whole section is calibre putting on its detective cap ๐Ÿ•ต๏ธโ™€๏ธ and modifying your document's text and structure using common patterns. It is disabled by default, so to get any of this magic you have to turn it on with --enable-heuristics. And if you want the general heuristic vibe but want to skip one specific action, you can disable that one with its matching --disable-* option. Slay. ๐Ÿ’…

  • --disable-dehyphenate โ€” Analyze hyphenated words throughout the document. The document itself is used as a dictionary to determine whether hyphens should be retained or removed.
  • --disable-delete-blank-paragraphs โ€” Remove empty paragraphs from the document when they exist between every other paragraph.
  • --disable-fix-indents โ€” Turn indentation created from multiple non-breaking space entities into CSS indents.
  • --disable-format-scene-breaks โ€” Left aligned scene break markers are center aligned. Replace soft scene breaks that use multiple blank lines with horizontal rules.
  • --disable-italicize-common-cases โ€” Look for common words and patterns that denote italics and italicize them.
  • --disable-markup-chapter-headings โ€” Detect unformatted chapter headings and sub headings. Change them to h2 and h3 tags. This setting will not create a TOC, but can be used in conjunction with structure detection to create one.
  • --disable-renumber-headings โ€” Looks for occurrences of sequential <h1> or <h2> tags. The tags are renumbered to prevent splitting in the middle of chapter headings.
  • --disable-unwrap-lines โ€” Unwrap lines using punctuation and other formatting clues.
  • --enable-heuristics โ€” Enable heuristic processing. This option must be set for any heuristic processing to take place.
  • --html-unwrap-factor โ€” Scale used to determine the length at which a line should be unwrapped. Valid values are a decimal between 0 and 1. The default is 0.4, just below the median line length. If only a few lines in the document require unwrapping this value should be reduced
  • --replace-scene-breaks โ€” Replace scene breaks with the specified text. By default, the text from the input document is used.

๐Ÿ” SEARCH AND REPLACE ๐Ÿ”

okay so this is the part where you get to modify the document text and structure using user defined patterns. You're the main character here. โœจ

  • --search-replace โ€” Path to a file containing search and replace regular expressions. The file must contain alternating lines of regular expression followed by replacement pattern (which can be an empty line). The regular expression must be in the Python regex syntax and the file must be UTF-8 encoded.
  • --sr1-replace โ€” Replacement to replace the text found with sr1-search.
  • --sr1-search โ€” Search pattern (regular expression) to be replaced with sr1-replace.
  • --sr2-replace โ€” Replacement to replace the text found with sr2-search.
  • --sr2-search โ€” Search pattern (regular expression) to be replaced with sr2-replace.
  • --sr3-replace โ€” Replacement to replace the text found with sr3-search.
  • --sr3-search โ€” Search pattern (regular expression) to be replaced with sr3-replace.

๐Ÿ—๏ธ STRUCTURE DETECTION ๐Ÿ—๏ธ

Control auto-detection of document structure. Let's get that structure right, bestie. ๐Ÿงš

  • --add-alt-text-to-img โ€” When an <img> tag has no alt attribute, check the associated image file for metadata that specifies alternate text, and use it to fill in the alt attribute. The alt attribute improves accessibility by providing text descriptions for users who cannot see or fully interpret visual content.
  • --chapter โ€” An XPath expression to detect chapter titles. The default is to consider <h1> or <h2> tags that contain the words "chapter", "book", "section", "prologue", "epilogue" or "part" as chapter titles as well as any tags that have class="chapter". The expression used must evaluate to a list of elements. To disable chapter detection, use the expression /. See the XPath Tutorial in the calibre User Manual for further help on using this feature.
  • --chapter-mark โ€” Specify how to mark detected chapters. A value of "pagebreak" will insert page breaks before chapters. A value of "rule" will insert a line before chapters. A value of "none" will disable chapter marking and a value of "both" will use both page breaks and lines to mark chapters.
  • --disable-remove-fake-margins โ€” Some documents specify page margins by specifying a left and right margin on each individual paragraph. calibre will try to detect and remove these margins. Sometimes, this can cause the removal of margins that should not have been removed. In this case you can disable the removal.
  • --insert-metadata โ€” Insert the book metadata at the start of the book. This is useful if your e-book reader does not support displaying/searching metadata directly.
  • --page-breaks-before โ€” An XPath expression. Page breaks are inserted before the specified elements. To disable use the expression: /
  • --prefer-metadata-cover โ€” Use the cover detected from the source file in preference to the specified cover.
  • --remove-first-image โ€” Remove the first image from the input e-book. Useful if the input document has a cover image that is not identified as a cover. In this case, if you set a cover in calibre, the output document will end up with two cover images if you do not specify this option.
  • --start-reading-at โ€” An XPath expression to detect the location in the document at which to start reading. Some e-book reading programs (most prominently the Kindle) use this location as the position at which to open the book. See the XPath tutorial in the calibre User Manual for further help using this feature.

๐Ÿ“š TABLE OF CONTENTS ๐Ÿ“š

Control the automatic generation of a Table of Contents. By default, if the source file has a Table of Contents, it will be used in preference to the automatically generated one.

  • --duplicate-links-in-toc โ€” When creating a TOC from links in the input document, allow duplicate entries, i.e. allow more than one entry with the same text, provided that they point to a different location.
  • --level1-toc โ€” XPath expression that specifies all tags that should be added to the Table of Contents at level one. If this is specified, it takes precedence over other forms of auto-detection. See the XPath Tutorial in the calibre User Manual for examples.
  • --level2-toc โ€” XPath expression that specifies all tags that should be added to the Table of Contents at level two. Each entry is added under the previous level one entry. See the XPath Tutorial in the calibre User Manual for examples.
  • --level3-toc โ€” XPath expression that specifies all tags that should be added to the Table of Contents at level three. Each entry is added under the previous level two entry. See the XPath Tutorial in the calibre User Manual for examples.
  • --max-toc-links โ€” Maximum number of links to insert into the TOC. Set to 0 to disable. Default is: 50. Links are only added to the TOC if less than the threshold number of chapters were detected.
  • --no-chapters-in-toc โ€” Don't add auto-detected chapters to the Table of Contents.
  • --toc-filter โ€” Remove entries from the Table of Contents whose titles match the specified regular expression. Matching entries and all their children are removed.
  • --toc-threshold โ€” If fewer than this number of chapters is detected, then links are added to the Table of Contents. Default: 6
  • --use-auto-toc โ€” Normally, if the source file already has a Table of Contents, it is used in preference to the auto-generated one. With this option, the auto-generated one is always used.

๐Ÿท๏ธ METADATA ๐Ÿท๏ธ

Options to set metadata in the output. So fetch. ๐Ÿ’…

  • --author-sort โ€” String to be used when sorting by author.
  • --authors โ€” Set the authors. Multiple authors should be separated by ampersands.
  • --book-producer โ€” Set the book producer.
  • --comments โ€” Set the e-book description.
  • --cover โ€” Set the cover to the specified file or URL
  • --isbn โ€” Set the ISBN of the book.
  • --language โ€” Set the language.
  • --pubdate โ€” Set the publication date (assumed to be in the local timezone, unless the timezone is explicitly specified)
  • --publisher โ€” Set the e-book publisher.
  • --rating โ€” Set the rating. Should be a number between 1 and 5.
  • --read-metadata-from-opf, --from-opf, -m โ€” Read metadata from the specified OPF file. Metadata read from this file will override any metadata in the source file.
  • --series โ€” Set the series this e-book belongs to.
  • --series-index โ€” Set the index of the book in this series.
  • --tags โ€” Set the tags for the book. Should be a comma separated list.
  • --timestamp โ€” Set the book timestamp (no longer used anywhere)
  • --title โ€” Set the title.
  • --title-sort โ€” The version of the title to be used for sorting.

๐Ÿ› DEBUG ๐Ÿ›

Options to help with debugging the conversion. You got this. ๐Ÿซถ

  • --debug-pipeline, -d โ€” Save the output from different stages of the conversion pipeline to the specified folder. Useful if you are unsure at which stage of the conversion process a bug is occurring.
  • --verbose, -v โ€” Level of verbosity. Specify multiple times for greater verbosity. Specifying it twice will result in full verbosity, once medium verbosity and zero times least verbosity.

๐Ÿ“ฅ AZW4 INPUT OPTIONS ๐Ÿ“ฅ

  • --input-encoding โ€” Specify the character encoding of the input document. If set this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.

๐Ÿ“ฅ CHM INPUT OPTIONS ๐Ÿ“ฅ

  • --input-encoding โ€” Specify the character encoding of the input document. If set this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.

๐ŸŽ€ COMIC INPUT OPTIONS ๐ŸŽ€

Ok bestie, this section is for when your input is literally pictures of pages, like a CBZ or CBR or a CBC. Sit down, hydrate, we're gonna make those scans look good. ๐Ÿ’…

  • --colors โ€” Cuts down how many colors the image is rocking. Heads up though: this only works if you picked PNG as your output format. Great for making files smaller. Set it to zero and it's off. Max value is 256. Off by default. โœจ
  • --comic-image-size โ€” You tell it the image size yourself as width x height in pixels, like 123x321. Normally the size gets auto-calculated from your output profile, so this is the override button when you wanna be the main character. ๐Ÿ‘‘
  • --despeckle โ€” Turns on Despeckle. It reduces speckle noise. Fair warning: it may greatly increase processing time. Like, go-make-a-snack levels of time. ๐Ÿ˜ญ
  • --disable-trim โ€” Stops the trimming of comic pages. Why would you want that? Because for some comics, trimming might yeet actual content along with the borders. ๐Ÿ™ˆ
  • --dont-add-comic-pages-to-toc โ€” When you're converting a CBC, this stops it from adding links to every single page into the TOC. Ngl, only relevant if the TOC has more than one section.
  • --dont-grayscale โ€” Don't convert the image to grayscale (black and white). Color stays winning. ๐ŸŒˆ
  • --dont-normalize โ€” Turns off normalize, which is the thing that improves contrast in the color range for pictures. Default: False. ๐Ÿ“
  • --dont-sharpen โ€” Disables sharpening. Soft vibes only, apparently.
  • --input-encoding โ€” You tell it the character encoding of the input document. Set this and it overrides whatever encoding the document claims about itself. This is so useful for docs that forgot to declare an encoding at all, or that declared one that's just straight-up wrong. ๐Ÿ’€
  • --keep-aspect-ratio โ€” Keeps the picture's aspect ratio intact. Default behavior is to fill the screen instead.
  • --landscape โ€” Stops landscape images from getting split into two portrait images. Let the wide ones be wide. ๐Ÿฆ‹
  • --no-process โ€” Applies zero processing to the image. Raw. Untouched. Iconic in a feral way.
  • --no-sort โ€” Stops sorting the files found in the comic alphabetically by name. Instead it uses the order they were added to the comic. Respect the original order bestie. ๐Ÿซถ
  • --output-format โ€” The format that the images inside your created e-book get converted to. Honestly just experiment to find which one gives you the best size and the best look on your specific device. ๐Ÿ”ฅ
  • --right2left โ€” For right-to-left publications like manga! It makes landscape pages split into portrait pages from right to left. Manga girlies, this one's for you. โญ
  • --wide โ€” Keeps aspect ratio and scales the image using the screen height as the image width, for viewing in landscape mode. Tall screen energy.

๐Ÿ“„ DJVU INPUT OPTIONS ๐Ÿ“„

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option overrides any encoding the document declares for itself. Particularly useful for documents that don't declare an encoding at all, or that have erroneous encoding declarations. ๐Ÿ’œ

๐Ÿ’Œ DOCX INPUT OPTIONS ๐Ÿ’Œ

  • --docx-inline-subsup โ€” Renders superscripts and subscripts so they don't mess with the line height. No more wonky spacing, slay. โœจ
  • --docx-no-cover โ€” So normally, if there's a big image right at the start of the document that looks like a cover, it gets pulled out and used as the cover for your new e-book. This option turns that whole behavior off. ๐ŸŽ€
  • --docx-no-pagebreaks-between-notes โ€” Don't insert a page break after every endnote. Let them breathe, periodt.
  • --input-encoding โ€” Specify the character encoding of the input document. If set, this overrides any encoding declared by the document itself. Particularly useful for documents that don't declare an encoding, or that have erroneous encoding declarations. ๐ŸŒธ

๐Ÿ“š EPUB INPUT OPTIONS ๐Ÿ“š

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option overrides any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations. ๐Ÿฆ‹

๐Ÿงš FB2 INPUT OPTIONS ๐Ÿงš

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this overrides any encoding the document declares for itself. Particularly useful for documents that don't declare an encoding, or that have erroneous encoding declarations.
  • --no-inline-fb2-toc โ€” Don't insert a Table of Contents at the beginning of the book. Some of us just don't want it there, and that's valid. ๐Ÿ’…

๐ŸŒŸ HTLZ INPUT OPTIONS ๐ŸŒŸ

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.

๐ŸŒ HTML INPUT OPTIONS ๐ŸŒ

Buckle up, these ones have actual consequences, so read them fr fr.

  • --allow-local-files-outside-root โ€” Normally, resources linked to by the HTML file or its children are only allowed if they live in a sub-folder of the original HTML file. This option lets you include local files from any location on your computer.
โš ๏ธ This can be a security risk if you're converting untrusted HTML and you expect to distribute the result of the conversion. Do not play with this one casually, bestie. ๐Ÿ˜ญ
  • --breadth-first โ€” Traverses links in HTML files breadth first. Normally they're traversed depth first. Different search energy, different results. ๐Ÿ”ฅ
  • --dont-package โ€” Normally this input plugin rearranges all the input files into a standard folder hierarchy. Only use this option if you know what you're doing, because it can cause various nasty side effects in the rest of the conversion pipeline. Consider yourself warned. ๐Ÿ’€
  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option overrides any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations. ๐Ÿซถ
  • --max-levels โ€” The maximum levels of recursion when following links in HTML files. Must be non-negative. 0 means that no links in the root HTML file are followed. Default is 5.

โœจ LIT INPUT OPTIONS โœจ

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.

๐Ÿ’ซ LRF INPUT OPTIONS ๐Ÿ’ซ

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.

๐Ÿ“– MOBI INPUT OPTIONS ๐Ÿ“–

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option overrides any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations. ๐ŸŒธ

๐Ÿ“ ODT INPUT OPTIONS ๐Ÿ“

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option overrides any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.

๐Ÿ”ฎ PDB INPUT OPTIONS ๐Ÿ”ฎ

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.

๐Ÿงพ PDF INPUT OPTIONS ๐Ÿงพ

The big one. Maximum options, maximum power. Let's go. ๐Ÿ‘‘

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option overrides any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.
  • --no-images โ€” Do not extract images from the document. Text-only era, apparently.
  • --pdf-engine โ€” The PDF engine to use. The "calibre" engine is recommended because it has automatic header and footer removal. Choices: calibre, pdftohtml.
  • --pdf-footer-regex โ€” A regular expression to remove lines at the bottom of a page. It only looks at the last line of a page, and it works only with the calibre PDF engine.
  • --pdf-footer-skip โ€” Skip everything to the specified number of pixels at the bottom of a page. Negative numbers mean auto-detect and remove footers. Zero means do not remove footers. Positive numbers mean remove footers that appear below that many pixels from the bottom of the page. Works only with the calibre PDF engine.
  • --pdf-header-regex โ€” A regular expression to remove lines at the top of a page. It only looks at the first line of a page, and it works only with the calibre PDF engine.
  • --pdf-header-skip โ€” Skip everything to the specified number of pixels at the top of a page. Negative numbers mean auto-detect and remove headers. Zero means do not remove headers. Positive numbers mean remove headers that appear above that many pixels from the top of the page. Works only with the new PDF engine.
  • --unwrap-factor โ€” The scale used to determine the length at which a line should be unwrapped. Valid values are a decimal between 0 and 1. The default is 0.45, which sits just below the median line length. ๐ŸŽฏ

๐ŸŽ€ PML INPUT OPTIONS ๐ŸŽ€

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option overrides any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.

๐ŸŒˆ RB INPUT OPTIONS ๐ŸŒˆ

  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option will override any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations.

๐Ÿ’– RTF INPUT OPTIONS ๐Ÿ’–

  • --ignore-wmf โ€” Ignore WMF images instead of replacing them with a placeholder image. Just pretend they were never there, bestie. โœจ
  • --input-encoding โ€” Specify the character encoding of the input document. If set, this option overrides any encoding declared by the document itself. Particularly useful for documents that do not declare an encoding or that have erroneous encoding declarations. ๐Ÿฆ‹

๐Ÿ“ RECIPE INPUT OPTIONS (aka the "it's on the internet, go get it" era) ๐Ÿ“

  • --dont-download-recipe โ€” bestie, this one tells it to not download the latest version of builtin recipes from the calibre server. Like, it just doesn't go fetch the new ones. That's the whole vibe.
  • --input-encoding โ€” you're specifying the character encoding of the input document. If you set this, it overrides whatever encoding the document declared for itself. Super handy for docs that forgot to declare an encoding at all, or that are out here lying with erroneous declarations. ๐Ÿ˜ญ
  • --lrf โ€” optimizes the fetching for a later conversion to LRF. That's it, that's the tea. โœจ
  • --password โ€” the password for sites that need a login before you can get to the content.
  • --recipe-specific-option โ€” recipe-specific options, and the syntax is option_name:value. For example: --recipe-specific-option = date:2030-11-31. You can specify it multiple times to set different options (obsessed ๐Ÿซถ). And to see a list of all the available options for a recipe, just use --recipe-specific-option = list.
  • --test โ€” this one is for recipe development, lowkey a dev tool. It forces max_articles_per_feed to 2 and downloads at most 2 feeds. You can change the number of feeds and articles by supplying optional arguments โ€” for example: --test 3 1 will download at most 3 feeds and only 1 article per feed. slay.
  • --username โ€” the username for sites that need a login to access content.

๐Ÿฆ‹ SNB INPUT OPTIONS ๐Ÿฆ‹

  • --input-encoding โ€” specify the character encoding of the input document. If set, this option overrides any encoding the document declared itself. Especially useful for documents that don't declare an encoding, or that have erroneous encoding declarations. (yes, it's the same queen showing up again, she gets around ๐Ÿ’…)

๐ŸŒธ TCR INPUT OPTIONS ๐ŸŒธ

  • --input-encoding โ€” specify the character encoding of the input document. If set, this option overrides any encoding declared by the document itself. Particularly useful for documents that don't declare an encoding or that have erroneous encoding declarations. iconic behavior, honestly.

๐ŸŽ€ TXT INPUT OPTIONS ๐ŸŽ€

  • --formatting-type โ€” the formatting used within the document. The options are:
    • auto: automatically decide which formatting processor to use
    • plain: no formatting
    • heuristic: use heuristics to determine chapter headings, italics, etc.
    • textile: use the Textile markup language
    • markdown: use the Markdown markup language

To learn more about Markdown, see <https://daringfireball.net/projects/markdown/> โœจ

  • --input-encoding โ€” specify the character encoding of the input document. If set, this option overrides any encoding declared by the document itself. Particularly useful for documents that don't declare an encoding or that have erroneous encoding declarations.
  • --markdown-extensions โ€” enables extensions to Markdown syntax. Extensions are formatting that isn't part of the standard Markdown format. The extensions enabled by default are: footnotes, tables, toc. To learn more about Markdown extensions, see <https://python-markdown.github.io/extensions/>. This should be a comma separated list of extensions to enable:
    • abbr: abbreviations
    • admonition: support admonitions
    • attr_list: add attribute to HTML tags
    • codehilite: add code highlighting via Pygments
    • def_list: definition lists
    • extra: enables various common extensions
    • fenced_code: alternative code block syntax
    • footnotes: footnotes
    • legacy_attrs: use legacy element attributes
    • legacy_em: use legacy underscore handling for connected words
    • meta: metadata in the document
    • nl2br: treat newlines as hard breaks
    • sane_lists: do not allow mixing list types
    • smarty: use Markdown's internal smartypants parser
    • tables: support tables
    • toc: generate a table of contents
    • wikilinks: wiki style links
  • --paragraph-type โ€” the paragraph structure to assume. The value off is useful for formatted documents such as Markdown or Textile. Choices are:
    • auto: try to auto detect paragraph type
    • block: treat a blank line as a paragraph break
    • single: assume every line is a paragraph
    • print: assume every line starting with 2+ spaces or a tab starts a paragraph
    • unformatted: most lines have hard line breaks, few/no blank lines or indents
    • off: don't modify the paragraph structure
  • --preserve-spaces โ€” normally extra spaces get condensed down into a single space. With this option on, all spaces will be displayed. โœจ
  • --txt-in-remove-indents โ€” normally extra space at the beginning of lines is retained. With this option, those get removed.

๐Ÿ‘‘ AZW3 OUTPUT OPTIONS ๐Ÿ‘‘

  • --dont-compress โ€” disables compression of the file contents.
  • --extract-to โ€” extracts the contents of the generated AZW3 file to the specified folder. Heads up bestie, the contents of the folder are first deleted, so be careful. ๐Ÿ˜ญ
  • --mobi-toc-at-start โ€” when adding the Table of Contents to the book, add it at the start of the book instead of the end. Not recommended. ๐Ÿซฃ
  • --no-inline-toc โ€” don't add Table of Contents to the book. Useful if the book already has its own table of contents.
  • --prefer-author-sort โ€” when present, use the author sort field as the author.
  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins. (it's giving "we tried" ๐Ÿ’…)
  • --share-not-sync โ€” enables sharing of book content via Facebook etc. on the Kindle.
โš ๏ธ WARNING: using this feature means that the book will not auto sync its last read position on multiple devices. Complain to Amazon. ๐Ÿ’€
  • --toc-title โ€” the title for any generated inline table of contents.

๐ŸŒˆ DOCX OUTPUT OPTIONS ๐ŸŒˆ

  • --docx-custom-page-size โ€” a custom size of the document. Use the form width x height, for example: 123x321 to specify the width and height (in pts). This overrides any specified page-size.
  • --docx-no-cover โ€” do not insert the book cover as an image at the start of the document. If you use this option, the book cover will be discarded. ๐Ÿ™ˆ
  • --docx-no-toc โ€” do not insert the table of contents as a page at the start of the document.
  • --docx-page-margin-bottom โ€” the size of the bottom page margin, in pts. Default is 72pt. Overrides the common bottom page margin setting, unless set to zero.
  • --docx-page-margin-left โ€” the size of the left page margin, in pts. Default is 72pt. Overrides the common left page margin setting.
  • --docx-page-margin-right โ€” the size of the right page margin, in pts. Default is 72pt. Overrides the common right page margin setting, unless set to zero.
  • --docx-page-margin-top โ€” the size of the top page margin, in pts. Default is 72pt. Overrides the common top page margin setting, unless set to zero.
  • --docx-page-size โ€” the size of the page. Default is letter. Choices are ['a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'b0', 'b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'legal', 'letter']
  • --extract-to โ€” extracts the contents of the generated DOCX file to the specified folder. And yeah, the contents of the folder are first deleted, so be careful. ๐Ÿซถ
  • --preserve-cover-aspect-ratio โ€” preserves the aspect ratio of the cover image instead of stretching it out to cover the entire page. no stretch, just vibes. โœจ
  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins.

๐Ÿ’– EPUB OUTPUT OPTIONS ๐Ÿ’–

  • --dont-split-on-page-breaks โ€” turns off splitting at page breaks, bestie. Normally your input files get auto-split at every single page break into two files, which gives you an output e-book that parses faster and eats less resources ๐Ÿ“. But splitting is slow, and if your source file has a very large number of page breaks you should lowkey just turn splitting off. iykyk.
  • --epub-flatten โ€” you ONLY need this if you're gonna use the EPUB with FBReaderJ, periodt. It flattens the file system inside the EPUB so every file goes into the top level. No nesting, just vibes.
  • --epub-inline-toc โ€” drops an inline Table of Contents right into the book as part of the main content. iconic behavior honestly ๐Ÿ“–โœจ
  • --epub-max-image-size โ€” the max image size (width x height). If you pass profile it means "use the screen size from the output profile". If you pass none it means no maximum size at all. For example, 100x200 makes every image resize so its width is no more than 100 pixels and its height is no more than 200 pixels. Heads up though โ€” this only touches the size of the actual image files themselves ๐Ÿ’…. Any given image can still be rendered at a different size depending on the styling you applied to it in the document.
  • --epub-toc-at-end โ€” puts that inserted inline Table of Contents at the END of the book instead of the start. case closed.
  • --epub-version โ€” the version of the EPUB file to generate, duh. EPUB 2 is the most widely compatible, so only use EPUB 3 if you know you actually need it. girl, be honest with yourself.
  • --extract-to โ€” extract the contents of the generated book to the specified folder.
โš ๏ธ The contents of the folder are first deleted, so be careful. Like, please be careful. Fr fr. ๐Ÿ’€
  • --flow-size โ€” split all HTML files larger than this size (in KB). This is necessary because most EPUB readers straight up cannot handle large file sizes ๐Ÿ˜ญ. The default of 260KB is the size required for Adobe Digital Editions. Set it to 0 to disable size based splitting entirely.
  • --no-default-epub-cover โ€” normally, if your input file has no cover and you don't specify one, a default cover gets generated with the title, authors, etc. This option disables the generation of that cover. no cover, no problem ๐ŸŽ€
  • --no-svg-cover โ€” do not use SVG for the book cover. Use this if your EPUB is going onto a device that does not support SVG, like the iPhone or the JetBook Lite ๐Ÿ“ฑ. Without this option, such devices will display the cover as a blank page (tragic, honestly).
  • --preserve-cover-aspect-ratio โ€” when you're using an SVG cover, this makes the cover scale to cover the available screen area but still preserve its aspect ratio (ratio of width to height). That means there may be white borders at the sides or top and bottom of the image, but the image will never be distorted ๐Ÿ’–. Without this option the image may be slightly distorted, but there will be no borders. pick your fighter.
  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins (oops ๐Ÿ™ˆ).
  • --toc-title โ€” title for any generated inline table of contents. name it something cute.

๐ŸŒธ FB2 OUTPUT OPTIONS ๐ŸŒธ

  • --fb2-genre โ€” genre for the book. Choices: sf_history, sf_action, sf_epic, sf_heroic, sf_detective, sf_cyberpunk, sf_space, sf_social, sf_horror, sf_humor, sf_fantasy, sf, det_classic, det_police, det_action, det_irony, det_history, det_espionage, det_crime, det_political, det_maniac, det_hard, thriller, detective, prose_classic, prose_history, prose_contemporary, prose_counter, prose_rus_classic, prose_su_classics, love_contemporary, love_history, love_detective, love_short, love_erotica, adv_western, adv_history, adv_indian, adv_maritime, adv_geo, adv_animal, adventure, child_tale, child_verse, child_prose, child_sf, child_det, child_adv, child_education, children, poetry, dramaturgy, antique_ant, antique_european, antique_russian, antique_east, antique_myths, antique, sci_history, sci_psychology, sci_culture, sci_religion, sci_philosophy, sci_politics, sci_business, sci_juris, sci_linguistic, sci_medicine, sci_phys, sci_math, sci_chem, sci_biology, sci_tech, science, comp_www, comp_programming, comp_hard, comp_soft, comp_db, comp_osnet, computers, ref_encyc, ref_dict, ref_ref, ref_guide, reference, nonf_biography, nonf_publicism, nonf_criticism, design, nonfiction, religion_rel, religion_esoterics, religion_self, religion, humor_anecdote, humor_prose, humor_verse, humor, home_cooking, home_pets, home_crafts, home_entertain, home_health, home_garden, home_diy, home_sport, home_sex, home. See: <http://www.fictionbook.org/index.php/Eng:FictionBook_2.1_genres> for a complete list with descriptions ๐Ÿ‘‘.
  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins โœจ.
  • --sectionize โ€” specify how sections are created:
    • nothing: A single section
    • files: Section per file
    • toc: Section per entry in the ToC

If ToC based generation fails, adjust the "Structure detection" and/or "Table of Contents" settings (turn on "Force use of auto-generated Table of Contents"). ngl that's the fix every time ๐Ÿซถ


๐ŸŒˆ HTML OUTPUT OPTIONS ๐ŸŒˆ

  • --extract-to โ€” extract the contents of the generated ZIP file to the specified folder.
โš ๏ธ WARNING: The contents of the folder will be deleted. do not test this on your home directory bestie ๐Ÿ˜ญ
  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins.
  • --template-css โ€” CSS file used for the output instead of the default CSS. make it โœจaestheticโœจ
  • --template-html โ€” template used for the generation of the HTML contents of the book instead of the default template. In Mustache format. yes, the moustache one ๐Ÿฅธ
  • --template-html-index โ€” template used for generation of the HTML index file instead of the default template. In Mustache format.

๐Ÿฆ‹ HTMLZ OUTPUT OPTIONS ๐Ÿฆ‹

  • --htmlz-class-style โ€” how to handle the CSS when using css-type = 'class'. Default is external.
    • external: Use an external CSS file
    • inline: Use a <style> tag in the HTML file
  • --htmlz-css-type โ€” specify the handling of CSS. Default is class.
    • class: Use CSS classes
    • inline: Use the style attribute
    • tag: Use HTML tags wherever possible
  • --htmlz-title-filename โ€” if set, this option causes the file name of the HTML file inside the HTMLZ archive to be based on the book title ๐Ÿ“š. cute and functional.
  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins.

๐Ÿ’œ KEPUB OUTPUT OPTIONS ๐Ÿ’œ

  • --dont-split-on-page-breaks โ€” turns off splitting at page breaks. Normally, input files are automatically split at every page break into two files, which gives you an output e-book that can be parsed faster and with less resources. However, splitting is slow and if your source file contains a very large number of page breaks, you should turn off splitting on page breaks. same energy as the EPUB one, if you know you know ๐Ÿ”ฅ.
  • --extract-to โ€” extract the contents of the generated book to the specified folder.
โš ๏ธ The contents of the folder are first deleted, so be careful. yeah. again. ๐Ÿ’€
  • --flow-size โ€” split all HTML files larger than this size (in KB). This is necessary as some devices cannot handle large file sizes. Set to 0 to disable size based splitting.
  • --kepub-affect-hyphenation โ€” modify how hyphenation is performed for this book. Note that hyphenation does not perform well for all languages, as it depends on the dictionaries present on the device, which are not always of the highest quality ๐Ÿ˜ฌ. not her fault, it's the dictionaries.
  • --kepub-disable-hyphenation โ€” override all hyphenation settings in book, forcefully disabling hyphenation completely. no hyphens. none. periodt.
  • --kepub-hyphenation-limit-lines โ€” maximum consecutive hyphenated lines.
  • --kepub-hyphenation-min-chars โ€” minimum word length to hyphenate, in characters.
  • --kepub-hyphenation-min-chars-after โ€” minimum characters after hyphens.
  • --kepub-hyphenation-min-chars-before โ€” minimum characters before hyphens.
  • --kepub-max-image-size โ€” the maximum image size (width x height). A value of profile means use the screen size from the output profile. A value of none means no maximum size is specified. For example, a value of 100x200 will cause all images to be resized so that their width is no more than 100 pixels and their height is no more than 200 pixels. Note that this only affects the size of the actual image files themselves ๐Ÿ’…. Any given image may be rendered at a different size depending on the styling applied to it in the document.
  • --kepub-prefer-justification โ€” okay so, the KEPUB renderer on the Kobo has a bug when text justification is turned on. It will either not justify text properly or when highlighting there will be gaps between neighboring highlighted parts of text ๐Ÿ˜ญ. By default, calibre generates KEPUB that avoid the highlighting gaps at the expense of worse text justification. This option reverses that tradeoff. Use this option if you use justification when reading on your Kobo device. choices were made.
  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins.

โญ LIT OUTPUT OPTIONS โญ

  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins. that's it. that's the whole section. she's lowkey chill like that ๐ŸŽ€

๐ŸŒธ LRF OUTPUT OPTIONS ๐ŸŒธ

  • --enable-autorotation โ€” turns on auto-rotation for images that are wider than the screen width. Let the wide girls rotate, bestie ๐Ÿ’…
  • --header โ€” adds a header to every page, with the title and the author on it.
  • --header-format โ€” sets what that header actually looks like. %a gets swapped for the author, %t gets swapped for the title. Default is %t by %a.
  • --header-separation โ€” adds extra spacing below the header. Default is 0 pt.
  • --minimum-indent โ€” the minimum paragraph indent, meaning the indent of the first line of a paragraph, in pts. Default: 0
  • --mono-family โ€” the monospace family of fonts to embed.
  • --pretty-print โ€” if you specify it, the output plugin will try to make output that's as human readable as possible. Heads up tho: it may not have any effect for some output plugins. ๐Ÿ™ˆ
  • --render-tables-as-images โ€” this option has no effect. Yeah. Literally nothing. It's giving decorative. ๐Ÿ’€
  • --sans-family โ€” the sans-serif family of fonts to embed.
  • --serif-family โ€” the serif family of fonts to embed.
  • --text-size-multiplier-for-rendered-tables โ€” multiplies the size of text in rendered tables by this factor. Default is 1.0
  • --wordspace โ€” sets the space between words, in pts. Default is 2.5

๐Ÿ”ฅ MOBI OUTPUT OPTIONS ๐Ÿ”ฅ

  • --dont-compress โ€” disables compression of the file contents.
  • --extract-to โ€” extracts the contents of the generated MOBI file into the folder you specify. โš ๏ธ The contents of that folder get deleted first, so be careful, babe.
  • --mobi-file-type โ€” by default calibre generates MOBI files containing the old MOBI 6 format. That format plays nice with all devices. But if you change this setting, you can tell calibre to generate MOBI files that contain both MOBI 6 and the new KF8 format, or only the new KF8 format. KF8 has more features than MOBI 6, but it only works with newer Kindles. Allowed values: old, both, new
  • --mobi-ignore-margins โ€” ignores margins in the input document. If False, the MOBI output plugin will try to convert the margins specified in the input document; otherwise it ignores them.
  • --mobi-keep-original-images โ€” by default calibre converts all images to JPEG format in the output MOBI file, for maximum compatibility, since some older MOBI viewers freak out over other image formats. This option tells calibre not to do that. Super useful if your document has lots of GIF/PNG images that blow up in size when converted to JPEG.
  • --mobi-toc-at-start โ€” when adding the Table of Contents to the book, adds it at the start of the book instead of the end. Not recommended. ๐Ÿ™…โ€โ™€๏ธ
  • --no-inline-toc โ€” doesn't add a Table of Contents to the book. Useful if the book already has its own table of contents.
  • --personal-doc โ€” tag for MOBI files to be marked as personal documents. This option has no effect on the conversion โ€” it's only used when sending MOBI files to a device. If the file being sent has the specified tag, it'll be marked as a personal document when it's sent to the Kindle. Use the value * to match all books.
  • --prefer-author-sort โ€” when present, uses the author sort field as the author.
  • --pretty-print โ€” if you specify it, the output plugin will try to make output that's as human readable as possible. Reminder: may not have any effect for some output plugins. โœจ
  • --share-not-sync โ€” enables sharing of book content via Facebook etc. on the Kindle. ๐Ÿšจ WARNING: using this feature means the book will not auto sync its last read position on multiple devices. Complain to Amazon. ๐Ÿ˜ค
  • --toc-title โ€” the title for any generated inline table of contents.

๐Ÿฆ‹ OEB OUTPUT OPTIONS ๐Ÿฆ‹

  • --pretty-print โ€” if you specify it, the output plugin will try to make output that's as human readable as possible. And yes, it may not have any effect for some output plugins. Same energy every time, fr fr.

๐Ÿ’œ PDB OUTPUT OPTIONS ๐Ÿ’œ

  • --format, -f โ€” the format to use inside the PDB container. Choices are: doc, ereader, ztxt
  • --inline-toc โ€” adds a Table of Contents to the beginning of the book.
  • --pdb-output-encoding โ€” specifies the character encoding of the output document. The default is cp1252. Note: this option is not honored by all formats.
  • --pretty-print โ€” if specified, the output plugin will try to make output that's as human readable as possible. May not have any effect for some output plugins.

๐ŸŽ€ PDF OUTPUT OPTIONS ๐ŸŽ€

  • --custom-size โ€” a custom size for the document. Use the form width x height, e.g. 123x321, to specify the width and height. This overrides any specified paper-size.
  • --paper-size โ€” the size of the paper. This size gets overridden when a non-default output profile is used. Default is letter. Choices are a0, a1, a2, a3, a4, a5, a6, b0, b1, b2, b3, b4, b5, b6, legal, letter
  • --pdf-add-toc โ€” adds a Table of Contents at the end of the PDF that lists page numbers. Useful if you wanna print the PDF out. If this PDF is meant for electronic use, use the PDF Outline instead.
  • --pdf-default-font-size โ€” the default font size (in pixels).
  • --pdf-footer-template โ€” an HTML template used to generate footers on every page. The strings _PAGENUM_, _TITLE_, _AUTHOR_ and _SECTION_ get replaced by their current values.
  • --pdf-header-template โ€” an HTML template used to generate headers on every page. The strings _PAGENUM_, _TITLE_, _AUTHOR_ and _SECTION_ get replaced by their current values.
  • --pdf-hyphenate โ€” breaks long words at the end of lines. This can give text at the right margin a more even appearance. Note that depending on the fonts used, this option can break the copying of text from the PDF file. ๐Ÿ˜ฌ
  • --pdf-mark-links โ€” surrounds all links with a red box. Useful for debugging.
  • --pdf-mono-family โ€” the font family used to render monospace fonts. Will work only if the font is available system-wide.
  • --pdf-mono-font-size โ€” the default font size for monospaced text (in pixels).
  • --pdf-no-cover โ€” doesn't insert the book cover as an image at the start of the document. Heads up: if you use this option, the book cover gets discarded. Gone. Poof. ๐Ÿ˜ญ
  • --pdf-odd-even-offset โ€” shifts the text horizontally by the specified offset (in pts). On odd numbered pages it's shifted to the right, and on even numbered pages to the left. Use negative numbers for the opposite effect. Note that this setting is ignored on pages where the margins are smaller than the specified offset. Shifting is done by setting the PDF CropBox โ€” and not all software respects the CropBox. ๐Ÿ™ƒ
  • --pdf-page-margin-bottom โ€” the size of the bottom page margin, in pts. Default is 72pt. Overrides the common bottom page margin setting, unless set to zero.
  • --pdf-page-margin-left โ€” the size of the left page margin, in pts. Default is 72pt. Overrides the common left page margin setting.
  • --pdf-page-margin-right โ€” the size of the right page margin, in pts. Default is 72pt. Overrides the common right page margin setting, unless set to zero.
  • --pdf-page-margin-top โ€” the size of the top page margin, in pts. Default is 72pt. Overrides the common top page margin setting, unless set to zero.
  • --pdf-page-number-map โ€” adjusts page numbers, as needed. Syntax is a JavaScript expression for the page number. For example, "if (n < 3) 0; else n - 3;", where n is the current page number.
  • --pdf-page-numbers โ€” adds page numbers to the bottom of every page in the generated PDF file. If you specify a footer template, it takes precedence over this option.
  • --pdf-sans-family โ€” the font family used to render sans-serif fonts. Will work only if the font is available system-wide.
  • --pdf-serif-family โ€” the font family used to render serif fonts. Will work only if the font is available system-wide.
  • --pdf-standard-font โ€” the type of font family used to render font for which no font family is specified.
  • --pdf-use-document-margins โ€” uses the page margins specified in the input document via @page CSS rules. This causes the margins specified in the conversion settings to be ignored. If the document doesn't specify page margins, the conversion settings get used as a fallback.
  • --preserve-cover-aspect-ratio โ€” preserves the aspect ratio of the cover instead of stretching it to fill the full first page of the generated PDF. Protect the cover's proportions, she deserves it. ๐Ÿ’–
  • --pretty-print โ€” if specified, the output plugin will try to make output that's as human readable as possible. May not have any effect for some output plugins.
  • --toc-title โ€” title for the generated table of contents.
  • --uncompressed-pdf โ€” generates an uncompressed PDF. Useful for debugging.
  • --unit, -u โ€” the unit of measure for page sizes. Default is inch. Choices are millimeter, centimeter, point, inch, pica, didot, cicero, devicepixel. Note: this does not override the unit for margins!
  • --use-profile-size โ€” instead of using the paper size specified in the PDF Output options, uses a paper size corresponding to the current output profile. Useful if you wanna generate a PDF for viewing on a specific device.

๐ŸŒˆ PML OUTPUT OPTIONS ๐ŸŒˆ

  • --full-image-depth โ€” doesn't reduce the size or bit depth of images. By default, images have their size and depth reduced to accommodate applications that can't convert images on their own, such as Dropbook.
  • --inline-toc โ€” adds a Table of Contents to the beginning of the book.
  • --pml-output-encoding โ€” specifies the character encoding of the output document. The default is cp1252.
  • --pretty-print โ€” if specified, the output plugin will try to make output that's as human readable as possible. May not have any effect for some output plugins.

โญ RB OUTPUT OPTIONS โญ

  • --inline-toc โ€” adds a Table of Contents to the beginning of the book.
  • --pretty-print โ€” if specified, the output plugin will try to make output that's as human readable as possible. May not have any effect for some output plugins.

๐ŸŒˆ RTF OUTPUT OPTIONS ๐ŸŒˆ

  • --pretty-print โ€” say yes to this and the output plugin will do its lil best to make output that's as human readable as possible. Lowkey might do absolutely nothing for some plugins tho, so don't come for me if it's giving the same either way. ๐Ÿ™ˆ

๐Ÿฆ‹ SNB OUTPUT OPTIONS ๐Ÿฆ‹

  • --pretty-print โ€” if you specify this, the output plugin tries to create output that's as human readable as it can possibly be. Fr fr this may not have any effect for some output plugins. ๐Ÿ’…
  • --snb-dont-indent-first-line โ€” tells it whether or not to stick two space characters in to indent the first line of every paragraph.
  • --snb-full-screen โ€” resizes all the images for full screen mode. โœจ
  • --snb-hide-chapter-name โ€” decides whether or not to hide the chapter title for each chapter. Super useful for image-only output, like, say, comics. ๐ŸŽ€
  • --snb-insert-empty-line โ€” whether or not to insert an empty line between two paragraphs.
  • --snb-max-line-length โ€” the maximum number of characters per line. It splits on the first space before the specified value. If there's no space found, the line gets broken at the space after and will exceed the specified value (no cap, literally). Also heads up: there's a minimum of 25 characters. Use 0 to disable line splitting entirely. ๐Ÿคฏ
  • --snb-output-encoding โ€” specify the character encoding of the output document. The default is utf-8. ๐ŸŒธ

๐Ÿ’œ TCR OUTPUT OPTIONS ๐Ÿ’œ

  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins. (Yes bestie, it's the same energy every time.)
  • --tcr-output-encoding โ€” specify the character encoding of the output document. The default is utf-8. โœจ

๐Ÿ‘‘ TXT OUTPUT OPTIONS ๐Ÿ‘‘

  • --force-max-line-length โ€” forces splitting on the max-line-length value when no space is present. Also lets max-line-length go below the minimum. Main character behavior honestly. ๐Ÿ”ฅ
  • --inline-toc โ€” adds a Table of Contents to the beginning of the book. ๐Ÿซถ
  • --keep-color โ€” do not remove font color from output. This is only useful when TXT output formatting is set to textile โ€” textile is the only formatting that supports setting font color, periodt. If this option isn't specified, font color will not be set and will default to the color displayed by the reader (which is generally black, so, you know, default vibes). ๐Ÿ’…
  • --keep-image-references โ€” do not remove image references within the document. This is only useful when paired with a TXT output formatting option that is not none, because links are always removed with plain text output. ๐Ÿ’€
  • --keep-links โ€” do not remove links within the document. Again, only useful when paired with a TXT output formatting option that is not none, because links are always removed with plain text output.
  • --max-line-length โ€” the maximum number of characters per line. Splits on the first space before the specified value. If no space is found, the line breaks at the space after and will exceed the specified value. There's a minimum of 25 characters. Use 0 to disable line splitting. ๐ŸŒˆ
  • --newline, -n โ€” type of newline to use. Options are ['old_mac', 'system', 'unix', 'windows']. Default is 'system'. Use 'old_mac' for compatibility with Mac OS 9 and earlier. For macOS use 'unix'. 'system' will default to the newline type used by this OS. ๐Ÿงš
  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins.
  • --txt-output-encoding โ€” specify the character encoding of the output document. The default is utf-8. โญ
  • --txt-output-formatting โ€” formatting used within the document.
    • plain: Plain text
    • markdown: Markdown formatted text
    • textile: Textile formatted text
  • --use-alt-text-for-images โ€” replaces images with the text from the alt attribute, if there is any. Ignored if the option to keep image references is specified. ๐Ÿ™ˆ

๐Ÿ“ TXTZ OUTPUT OPTIONS ๐Ÿ“

  • --force-max-line-length โ€” forces splitting on the max-line-length value when no space is present. Also allows max-line-length to be below the minimum. ๐Ÿ’…
  • --inline-toc โ€” adds a Table of Contents to the beginning of the book. โœจ
  • --keep-color โ€” do not remove font color from output. Only useful when TXT output formatting is set to textile, since textile is the only formatting that supports setting font color. If this option is not specified, font color will not be set and will default to the color displayed by the reader (generally this is black). ๐Ÿ–ค
  • --keep-image-references โ€” do not remove image references within the document. Only useful when paired with a TXT output formatting option that is not none, because links are always removed with plain text output.
  • --keep-links โ€” do not remove links within the document. Only useful when paired with a TXT output formatting option that is not none, because links are always removed with plain text output.
  • --max-line-length โ€” the maximum number of characters per line. Splits on the first space before the specified value. If no space is found, the line breaks at the space after and will exceed the specified value. Also there's a minimum of 25 characters. Use 0 to disable line splitting. ๐ŸŒธ
  • --newline, -n โ€” type of newline to use. Options are ['old_mac', 'system', 'unix', 'windows']. Default is 'system'. Use 'old_mac' for compatibility with Mac OS 9 and earlier. For macOS use 'unix'. 'system' will default to the newline type used by this OS. ๐ŸŒˆ
  • --pretty-print โ€” if specified, the output plugin will try to create output that is as human readable as possible. May not have any effect for some output plugins.
  • --txt-output-encoding โ€” specify the character encoding of the output document. The default is utf-8. ๐Ÿ’œ
  • --txt-output-formatting โ€” formatting used within the document.
    • plain: Plain text
    • markdown: Markdown formatted text
    • textile: Textile formatted text
  • --use-alt-text-for-images โ€” replaces images with the text from the alt attribute, if any. Ignored if the option to keep image references is specified. ๐Ÿฆ‹

๐Ÿ’– Author ๐Ÿ’–

Kovid Goyal โ€” the icon, the legend, the moment. ๐Ÿ‘‘

Kovid Goyal owns all of this, no cap. ๐Ÿซถ


And that's a wrap on the whole page bestie!! This was version 9.14.0 dropped on August 28, 2026, and it's literally all documented under the EBOOK-CONVERT(1) name. Go forth and convert your lil heart out ๐Ÿ’…โœจ๐Ÿ“š
๐Ÿ“ฆ where this page comes from