ebook-convertΒΆ

ebook-convert input_file output_file [options]

Convert an e-book from one format to another.

input_file is the input and output_file is the output. Both must be specified as the first two arguments to the command.

The output e-book format is guessed from the file extension of output_file. output_file can also be of the special format .EXT where EXT is the output file extension. In this case, the name of the output file is derived from the name of the input file. Note that the filenames must not start with a hyphen. Finally, if output_file has no extension, then it is treated as a folder and an β€œopen e-book” (OEB) consisting of HTML files is written to that folder. These files are the files that would normally have been passed to the output plugin.

After specifying 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. To get help on them specify the input and output file and then use the -h option.

For full documentation of the conversion system see E-book 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”

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.

--help, -hΒΆ

show this help message and exit

--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

Look and FeelΒΆ

Options to control the look and feel of the output

--asciiizeΒΆ

Transliterate Unicode characters to an ASCII representation. Use with care because this will replace Unicode characters with ASCII. For instance it will replace "PelΓ©" with "Pele". Also, note that in cases where there are multiple representations of a character (characters shared by Chinese and Japanese for instance) the representation based on the current calibre interface language will be used.

--base-font-sizeΒΆ

The base font size in pts. All font sizes in the produced book will be rescaled based on this size. By choosing a larger size you can make the fonts in the output bigger and vice versa. By default, when the value is zero, the base font size is chosen based on the output profile you chose.

--change-justificationΒΆ

Change text justification. A value of "left" converts all justified text in the source to left aligned (i.e. unjustified) text. A value of "justify" converts all unjustified text to justified. A value of "original" (the default) does not change justification in the source file. Note that only some output formats support justification.

--disable-font-rescalingΒΆ

Disable all rescaling of font sizes.

--embed-all-fontsΒΆ

Embed every font that is referenced in the input document but not already embedded. This will search your system for the fonts, and if found, they will be embedded. Embedding will only work if the format you are converting to supports embedded fonts, such as EPUB, AZW3, DOCX or PDF. Please ensure that you have the proper license for embedding the fonts used in this document.

--embed-font-familyΒΆ

Embed the specified font family into the book. This specifies the "base" font used for the book. If the input document specifies its own fonts, they may override this base font. You can use the filter style information option to remove fonts from the input document. Note that font embedding only works with some output formats, principally EPUB, AZW3 and DOCX.

--expand-cssΒΆ

By default, calibre will use the shorthand form for various CSS properties such as margin, padding, border, etc. This option will cause it to 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 as the Nook cannot handle shorthand CSS.

--extra-cssΒΆ

Either the path to a CSS stylesheet or raw CSS. This CSS will be appended to the style rules from the source file, so it can be used to override those rules.

--filter-cssΒΆ

A comma separated list of CSS properties that will be removed from all CSS style rules. This is useful if the presence of some style information prevents it from being overridden on your device. 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 to use a mapping based on the output profile you chose.

--insert-blank-lineΒΆ

Insert a blank line between paragraphs. Will not work if the source file does not use paragraphs (<p> or <div> tags).

--insert-blank-line-sizeΒΆ

Set the height of the inserted blank lines (in em). The height of the lines between paragraphs will be twice the value set here.

--keep-ligaturesΒΆ

Preserve ligatures present in the input document. A ligature is a combined character of a pair of characters like ff, fi, fl et cetera. Most readers do not have support for ligatures in their default fonts, so they are unlikely to render correctly. By default, calibre will turn a ligature into the corresponding pair of normal characters. Note that ligatures here mean only unicode ligatures not ligatures created via CSS or font styles. This option will preserve them instead.

--line-heightΒΆ

The line height in pts. Controls spacing between consecutive lines of text. Only applies to elements that do not 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 the layout of text on the page. When converted these documents often have text that runs off the page and other artifacts. This option will extract the content from the tables and present it in a linear fashion.

--margin-bottomΒΆ

Set the bottom margin in pts. Default is 5.0. Setting this to less than zero will cause no margin to be set (the margin setting in the original document will be preserved). Note: Page oriented formats such as PDF and DOCX have their own margin settings that take precedence.

--margin-leftΒΆ

Set the left margin in pts. Default is 5.0. Setting this to less than zero will cause no margin to be set (the margin setting in the original document will be preserved). Note: Page oriented formats such as PDF and DOCX have their own margin settings that take precedence.

--margin-rightΒΆ

Set the right margin in pts. Default is 5.0. Setting this to less than zero will cause no margin to be set (the margin setting in the original document will be preserved). Note: Page oriented formats such as PDF and DOCX have their own margin settings that take precedence.

--margin-topΒΆ

Set the top margin in pts. Default is 5.0. Setting this to less than zero will cause no margin to be set (the margin setting in the original document will be preserved). Note: Page oriented formats such as 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 will ensure that every element has a line height of at least this setting, irrespective of what the input document specifies. Set to zero to disable. Default is 120%. Use this setting in preference to the direct line height specification, unless you know what you are doing. For example, you can achieve "double spaced" text by setting this to 240.

--remove-paragraph-spacingΒΆ

Remove spacing between paragraphs. Also sets an indent on paragraphs of 1.5em. Spacing removal will not work if the source file does not use paragraphs (<p> or <div> tags).

--remove-paragraph-spacing-indent-sizeΒΆ

When calibre removes blank lines between paragraphs, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. 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, that is, calibre does not change the indentation.

--smarten-punctuationΒΆ

Convert plain quotes, dashes and ellipsis to their typographically correct equivalents. For details, see https://daringfireball.net/projects/smartypants.

--subset-embedded-fontsΒΆ

Subset all embedded fonts. Every embedded font is reduced to contain only the glyphs used in this document. This decreases the size of the font files. Useful if you are embedding a particularly large font with lots of unused glyphs.

--transform-css-rulesΒΆ

Path to a file containing rules to transform the CSS styles in this book. The easiest way to create such a file is to use the wizard for creating rules in the calibre GUI. Access it in the "Look & feel->Transform styles" section of the conversion dialog. Once you create the rules, you can use the "Export" button to save them to a file.

--transform-html-rulesΒΆ

Path to a file containing rules to transform the HTML in this book. The easiest way to create such a file is to use the wizard for creating rules in the calibre GUI. Access it in the "Look & feel->Transform HTML" section of the conversion dialog. Once you create the rules, you can use the "Export" button to save them to a file.

--unsmarten-punctuationΒΆ

Convert fancy quotes, dashes and ellipsis to their plain equivalents.

Heuristic ProcessingΒΆ

Modify the document text and structure using common patterns. Disabled by default. Use –enable-heuristics to enable. Individual actions can be disabled with the –disable-* options.

--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ΒΆ

Modify the document text and structure using user defined patterns.

--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.

Search pattern (regular expression) to be replaced with sr1-replace.

--sr2-replaceΒΆ

Replacement to replace the text found with sr2-search.

Search pattern (regular expression) to be replaced with sr2-replace.

--sr3-replaceΒΆ

Replacement to replace the text found with sr3-search.

Search pattern (regular expression) to be replaced with sr3-replace.

Structure DetectionΒΆ

Control auto-detection of document structure.

--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 is used by screen readers for assisting the visually challenged.

--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.

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.

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

--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

--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ΒΆ

--colorsΒΆ

Reduce the number of colors used in the image. This works only if you choose the PNG output format. It is useful to reduce file sizes. Set to zero to turn off. Maximum value is 256. It is off by default.

--comic-image-sizeΒΆ

Specify the image size as width x height pixels, for example: 123x321. Normally, an image size is automatically calculated from the output profile, this option overrides it.

--despeckleΒΆ

Enable Despeckle. Reduces speckle noise. May greatly increase processing time.

--disable-trimΒΆ

Disable trimming of comic pages. For some comics, trimming might remove content as well as borders.

--dont-add-comic-pages-to-tocΒΆ

When converting a CBC do not add links to each page to the TOC. Note this only applies if the TOC has more than one section

--dont-grayscaleΒΆ

Do not convert the image to grayscale (black and white)

--dont-normalizeΒΆ

Disable normalize (improve contrast) color range for pictures. Default: False

--dont-sharpenΒΆ

Disable sharpening.

--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.

--keep-aspect-ratioΒΆ

Maintain picture aspect ratio. Default is to fill the screen.

--landscapeΒΆ

Don't split landscape images into two portrait images

--no-processΒΆ

Apply no processing to the image

--no-sortΒΆ

Don't sort the files found in the comic alphabetically by name. Instead use the order they were added to the comic.

--output-formatΒΆ

The format that images in the created e-book are converted to. You can experiment to see which format gives you optimal size and look on your device.

--right2leftΒΆ

Used for right-to-left publications like manga. Causes landscape pages to be split into portrait pages from right to left.

--wideΒΆ

Keep aspect ratio and scale image using screen height as image width for viewing in landscape mode.

DJVU 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.

DOCX Input OptionsΒΆ

--docx-inline-subsupΒΆ

Render superscripts and subscripts so that they do not affect the line height

--docx-no-coverΒΆ

Normally, if a large image is present at the start of the document that looks like a cover, it will be removed from the document and used as the cover for created e-book. This option turns off that behavior.

--docx-no-pagebreaks-between-notesΒΆ

Do not insert a page break after every endnote.

--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.

EPUB 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.

FB2 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.

--no-inline-fb2-tocΒΆ

Do not insert a Table of Contents at the beginning of the book

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ΒΆ

--allow-local-files-outside-rootΒΆ

Normally, resources linked to by the HTML file or its children will only be allowed if they are in a sub-folder of the original HTML file. This option allows including local files from any location on your computer. This can be a security risk if you are converting untrusted HTML and expecting to distribute the result of the conversion.

--breadth-firstΒΆ

Traverse links in HTML files breadth first. Normally, they are traversed depth first.

--dont-packageΒΆ

Normally this input plugin re-arranges all the input files into a standard folder hierarchy. Only use this option if you know what you are doing as it can result in various nasty side effects in the rest of the conversion pipeline.

--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.

--max-levelsΒΆ

Maximum levels of recursion when following links in HTML files. Must be non-negative. 0 implies 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 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.

ODT 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.

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ΒΆ

--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.

--new-pdf-engineΒΆ

Use the new, experimental, PDF conversion engine.

--no-imagesΒΆ

Do not extract images from the document

Regular expression to remove lines at the bottom of a page. This only looks at the last line of a page and works only with the new PDF engine.

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 and positive numbers mean remove footers that appear below that many pixels from the bottom of the page. Works only with the new PDF engine.

--pdf-header-regexΒΆ

Regular expression to remove lines at the top of a page. This only looks at the first line of a page and works only with the new 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 and 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ΒΆ

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, just below the median line length.

PML 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.

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.

--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.

Recipe Input OptionsΒΆ

--dont-download-recipeΒΆ

Do not download latest version of builtin recipes from the calibre server

--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ΒΆ

Optimize fetching for subsequent conversion to LRF.

--passwordΒΆ

Password for sites that require a login to access content.

--recipe-specific-optionΒΆ

Recipe specific options. Syntax is option_name:value. For example: --recipe-specific-option = date:2030-11-31. Can be specified multiple times to set different options. To see a list of all available options for a recipe, use --recipe-specific-option = list.

--testΒΆ

Useful for recipe development. 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.

--usernameΒΆ

Username for sites that require a login to access content.

SNB 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.

TCR 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.

TXT Input OptionsΒΆ

--formatting-typeΒΆ

Formatting used within the document. * 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 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.

--markdown-extensionsΒΆ

Enable extensions to Markdown syntax. Extensions are formatting that is not part of the standard Markdown format. The extensions enabled by default: 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ΒΆ

Paragraph structure to assume. The value of "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 are condensed into a single space. With this option all spaces will be displayed.

--txt-in-remove-indentsΒΆ

Normally extra space at the beginning of lines is retained. With this option they will be removed.

AZW3 Output OptionsΒΆ

--dont-compressΒΆ

Disable compression of the file contents.

--extract-toΒΆ

Extract the contents of the generated AZW3 file to the specified folder. 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 has its own table of contents.

--prefer-author-sortΒΆ

When present, use author sort field as 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.

--share-not-syncΒΆ

Enable 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ΒΆ

Title for any generated inline table of contents.

DOCX Output OptionsΒΆ

--docx-custom-page-sizeΒΆ

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ΒΆ

Extract the contents of the generated DOCX file to the specified folder. The contents of the folder are first deleted, so be careful.

--preserve-cover-aspect-ratioΒΆ

Preserve the aspect ratio of the cover image instead of stretching it out to cover the entire page.

--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ΒΆ

Turn off splitting at page breaks. Normally, input files are automatically split at every page break into two files. This gives 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.

--epub-flattenΒΆ

This option is needed only if you intend to use the EPUB with FBReaderJ. It will flatten the file system inside the EPUB, putting all files into the top level.

--epub-inline-tocΒΆ

Insert an inline Table of Contents that will appear as part of the main book content.

--epub-max-image-sizeΒΆ

The maximum image size (width x height). A value of none means use the screen size from the output profile. A value of profile 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.

--epub-toc-at-endΒΆ

Put the inserted inline Table of Contents at the end of the book instead of the start.

--epub-versionΒΆ

The version of the EPUB file to generate. EPUB 2 is the most widely compatible, only use EPUB 3 if you know you actually need it.

--extract-toΒΆ

Extract the contents of the generated EPUB file to the specified folder. The contents of the folder are first deleted, so be careful.

--flow-sizeΒΆ

Split all HTML files larger than this size (in KB). This is necessary as most EPUB readers cannot handle large file sizes. The default of 260KB is the size required for Adobe Digital Editions. Set to 0 to disable size based splitting.

--no-default-epub-coverΒΆ

Normally, if the input file has no cover and you don't specify one, a default cover is generated with the title, authors, etc. This option disables the generation of this cover.

--no-svg-coverΒΆ

Do not use SVG for the book cover. Use this option if your EPUB is going to be used on 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.

--preserve-cover-aspect-ratioΒΆ

When using an SVG cover, this option will cause the cover to 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.

--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.

--toc-titleΒΆ

Title for any generated inline table of contents.

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").

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.

--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 file

--template-htmlΒΆ

Template used for the generation of the HTML contents of the book instead of the default file

--template-html-indexΒΆ

Template used for generation of the HTML index file instead of the default file

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.

--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.

LRF Output OptionsΒΆ

--enable-autorotationΒΆ

Enable auto-rotation of images that are wider than the screen width.

--headerΒΆ

Add a header to all the pages with title and author.

--header-formatΒΆ

Set the format of the header. %a is replaced by the author and %t by the title. Default is %t by %a

--header-separationΒΆ

Add extra spacing below the header. Default is 0 pt.

--minimum-indentΒΆ

Minimum paragraph indent (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 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.

--render-tables-as-imagesΒΆ

This option has no effect

--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ΒΆ

Multiply the size of text in rendered tables by this factor. Default is 1.0

--wordspaceΒΆ

Set the space between words in pts. Default is 2.5

MOBI Output OptionsΒΆ

--dont-compressΒΆ

Disable compression of the file contents.

--extract-toΒΆ

Extract the contents of the generated MOBI file to the specified folder. The contents of the folder are first deleted, so be careful.

--mobi-file-typeΒΆ

By default calibre generates MOBI files that contain the old MOBI 6 format. This format is compatible with all devices. However, by changing 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 only works with newer Kindles. Allowed values: old, both, new

--mobi-ignore-marginsΒΆ

Ignore margins in the input document. If False, then the MOBI output plugin will try to convert margins specified in the input document, otherwise it will ignore them.

--mobi-keep-original-imagesΒΆ

By default calibre converts all images to JPEG format in the output MOBI file. This is for maximum compatibility as some older MOBI viewers have problems with other image formats. This option tells calibre not to do this. Useful if your document contains lots of GIF/PNG images that become very large when converted to JPEG.

--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 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 is used only when sending MOBI files to a device. If the file being sent has the specified tag, it will be marked as a personal document when sent to the Kindle.

--prefer-author-sortΒΆ

When present, use author sort field as 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.

--share-not-syncΒΆ

Enable 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ΒΆ

Title for any generated inline table of contents.

OEB 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.

PDB Output OptionsΒΆ

--format, -fΒΆ

Format to use inside the PDB container. Choices are: ['doc', 'ereader', 'ztxt']

--inline-tocΒΆ

Add Table of Contents to beginning of the book.

--pdb-output-encodingΒΆ

Specify 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 create output that is as human readable as possible. May not have any effect for some output plugins.

PDF Output OptionsΒΆ

--custom-sizeΒΆ

Custom size of 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 will be 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ΒΆ

Add a Table of Contents at the end of the PDF that lists page numbers. Useful if you want to print out the PDF. If this PDF is intended for electronic use, use the PDF Outline instead.

--pdf-default-font-sizeΒΆ

The default font size (in pixels)

An HTML template used to generate footers on every page. The strings _PAGENUM_, _TITLE_, _AUTHOR_ and _SECTION_ will be 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_ will be replaced by their current values.

--pdf-hyphenateΒΆ

Break long words at the end of lines. This can give the 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.

Surround 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ΒΆ

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.

--pdf-odd-even-offsetΒΆ

Shift the text horizontally by the specified offset (in pts). On odd numbered pages, it is 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, 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ΒΆ

Adjust 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 current page number.

--pdf-page-numbersΒΆ

Add page numbers to the bottom of every page in the generated PDF file. If you specify a footer template, it will take 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ΒΆ

Use the page margins specified in the input document via @page CSS rules. This will cause the margins specified in the conversion settings to be ignored. If the document does not specify page margins, the conversion settings will be used as a fallback.

--preserve-cover-aspect-ratioΒΆ

Preserve the aspect ratio of the cover, instead of stretching it to fill the full first page of the generated PDF.

--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.

--toc-titleΒΆ

Title for generated table of contents.

--uncompressed-pdfΒΆ

Generate 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, use a paper size corresponding to the current output profile. Useful if you want to generate a PDF for viewing on a specific device.

PML Output OptionsΒΆ

--full-image-depthΒΆ

Do not reduce the size or bit depth of images. Images have their size and depth reduced by default to accommodate applications that can not convert images on their own such as Dropbook.

--inline-tocΒΆ

Add Table of Contents to beginning of the book.

--pml-output-encodingΒΆ

Specify the character encoding of the output document. The default is cp1252.

--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.

RB Output OptionsΒΆ

--inline-tocΒΆ

Add Table of Contents to beginning of the book.

--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.

RTF 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.

SNB 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.

--snb-dont-indent-first-lineΒΆ

Specify whether or not to insert two space characters to indent the first line of each paragraph.

--snb-full-screenΒΆ

Resize all the images for full screen mode.

--snb-hide-chapter-nameΒΆ

Specify whether or not to hide the chapter title for each chapter. Useful for image-only output (eg. comics).

--snb-insert-empty-lineΒΆ

Specify whether or not to insert an empty line between two paragraphs.

--snb-max-line-lengthΒΆ

The maximum number of characters per line. This splits on the first space before the specified value. If no space is found the line will be broken at the space after and will exceed the specified value. Also, there is a minimum of 25 characters. Use 0 to disable line splitting.

--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.

--tcr-output-encodingΒΆ

Specify the character encoding of the output document. The default is utf-8.

TXT Output OptionsΒΆ

--force-max-line-lengthΒΆ

Force splitting on the max-line-length value when no space is present. Also allows max-line-length to be below the minimum

--inline-tocΒΆ

Add Table of Contents to 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. If this option is not specified font color will not be set and default to the color displayed by the reader (generally this is black).

--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.

Do not remove links 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.

--max-line-lengthΒΆ

The maximum number of characters per line. This splits on the first space before the specified value. If no space is found the line will be broken at the space after and will exceed the specified value. Also, there is 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

TXTZ Output OptionsΒΆ

--force-max-line-lengthΒΆ

Force splitting on the max-line-length value when no space is present. Also allows max-line-length to be below the minimum

--inline-tocΒΆ

Add Table of Contents to 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. If this option is not specified font color will not be set and default to the color displayed by the reader (generally this is black).

--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.

Do not remove links 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.

--max-line-lengthΒΆ

The maximum number of characters per line. This splits on the first space before the specified value. If no space is found the line will be broken at the space after and will exceed the specified value. Also, there is 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