CALIBREDB(1) calibre CALIBREDB(1) NAME calibredb - calibredb calibredb [] [] calibredb is the command line interface to the calibre database. It has several sub-commands, documented below. calibredb can be used to manipulate either a calibre database specified by path or a calibre Content server running either on the local machine or over the internet. You can start a calibre Content server using either the calibre-server program or in the main calibre program click Connect/share -> Start Content server. Since calibredb can make changes to your calibre libraries, you must setup authentication on the server first. There are two ways to do that: o If you plan to connect only to a server running on the same computer, you can simply use the --enable-local-write option of the Content server, to allow any program, including calibredb, running on the local computer to make changes to your calibre data. When running the server from the main calibre program, this option is in Preferences->Sharing over the net->Advanced. Be careful though, because some browsers, primarily Firefox, allow arbitrary websites to also access local servers. If you use Firefox, it is better to setup username and password, as described below. Local Network Access restriction has still not been implemented as of Firefox v149. o If you want to enable access over the internet, then you should setup user accounts on the server and use the --username and --password options to calibredb to give it access. You can setup user authentication for calibre-server by using the --enable-auth option and using --manage-users to create the user accounts. If you are running the server from the main calibre program, use Preferences->Sharing over the net->Require username/password. To connect to a running Content server, pass the URL of the server to the --with-library option, see the documentation of that option for details and examples. o o list o add o o remove o add_format o remove_format o show_metadata o set_metadata o export o catalog o EPUB o saved_searches o add_custom_column o custom_columns o remove_custom_column o set_custom o restore_database o check_library o list_categories o backup_metadata o clone o embed_metadata o search o fts_index o fts_search --help, -h --library-path, --with-library Path to the calibre library. Default is to use the path stored in the settings. You can also connect to a calibre Content server to perform actions on remote libraries. To do so use a URL of the form: for example, . library_id is the library id of the library you want to connect to on the Content server. You can use the special library_id value of - to get a list of library ids available on the server. For details on how to setup access via a Content server, see . --password . : . : ( >). . --timeout . . --username --version LIST calibredb list [options] . calibredb . : "/some path/with spaces" --ascending --fields, -f . . : author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, template, timestamp, title, uuid : title,authors. "all" . *field_name #rating : *rating --for-machine -JSON- . . --limit . : --line-width, -w . . --prefix . . --search, -s . . . --separator . . --sort-by The field by which to sort the results. You can specify multiple fields by separating them with commas. Available fields: author_sort, authors, comments, cover, formats, identifiers, isbn, languages, last_modified, pubdate, publisher, rating, series, series_index, size, tags, template, timestamp, title, uuid Default: id. In addition to the builtin fields above, custom fields are also available as *field_name, for example, for a custom field #rating, use the name: *rating --template "template" . . : --template_file, -t "template" . : --template_heading . : %d efault. --for-machine ADD rog add [options] file1 file2 file3 ...%p . . calibredb . : "/some path/with spaces" --authors, -a () --automerge, -m () . "" "ignore" . " " "overwrite" . "_" "new_record" . --cover, -c --duplicates, -d . . --automerge . --empty, -e ( ) --identifier, -I -I asin:XXX -I isbn:YYY --isbn, -i ISBN () --languages, -l ( ISO639 ) --series, -s () --series-index, -S () --tags, -T () --title, -t () . . --add (glob) e-book . . --ignore (glob) . . : * .pdf PDF --one-book-per-directory, -1 --recurse, -r REMOVE calibredb remove ids ids . ids ( ). 23,34,57-85 ( ). calibredb . : "/some path/with spaces" --permanent ADD_FORMAT calibredb add_format [options] id ebook_file ebook_file id. id . . calibredb . : "/some path/with spaces" --as-extra-data-file --dont-replace REMOVE_FORMAT calibredb remove_format [] id fmt fmt id. id . fmt LRF TXT EPUB. fmt . calibredb . : "/some path/with spaces" SHOW_METADATA calibredb show_metadata [] id calibre id. id . calibredb . : "/some path/with spaces" --as-opf OPF (XML) SET_METADATA calibredb set_metadata [] book_id [/path/to/metadata.opf] calibre book_id OPF metadata.opf. book_id . OPF --as-opf show_metadata. --field. --field OPF. calibredb . : "/some path/with spaces" --field, -f . field_name:value : --field tags:tag1,tag2. --list-fields . . : ISO639 ( en fr ). --field identifiers:isbn:XXXX,doi:YYYYY. (/) true false yes no. --list-fields, -l --field EXPORT calibredb export [] ids ids ( ) . ( OPF). . . calibredb . : "/some path/with spaces" --all . --dont-asciiize calibre . Unicode. . --dont-save-cover calibre . . --dont-save-extra-files . --dont-update-metadata calibre calibre. . . --dont-write-opf calibre OPF . . --formats . . --progress --replace-whitespace . --single-dir --template . "{author_sort}/{title}/{title} - {authors}" . : {author_sort, authors, id, isbn, languages, last_modified, pages, pubdate, publisher, rating, series, series_index, tags, timestamp, title} --timefmt . %d - %b - %m - %Y - . : %b, %Y --to-dir . . --to-lowercase . CATALOG calibredb catalog /path/to/destination.(csv|epub|mobi|xml...) [options] //. . . --help. calibredb . : "/some path/with spaces" --ids, -i . . : --search, -s . . : --verbose, -v . EPUB --catalog-title . : 'My Books' : AZW3, EPUB, MOBI --cross-reference-authors . : 'False' : AZW3, EPUB, MOBI --debug-pipeline . . : 'None' : AZW3, EPUB, MOBI --exclude-genre . : '[.+]|^+$' '[Project Gutenberg]' '+' . : AZW3, EPUB, MOBI --exclusion-rules . ('< >','','< >') ('< >','< >','<>'). : ((' ','#',''),) '' ''. . : "(('Catalogs','Tags','Catalog'),)" : AZW3, EPUB, MOBI --generate-authors '' . : 'False' : AZW3, EPUB, MOBI --generate-descriptions '' . : 'False' : AZW3, EPUB, MOBI --generate-genres '' . : 'False' : AZW3, EPUB, MOBI --generate-recently-added ' ' . : 'False' : AZW3, EPUB, MOBI --generate-series '' . : 'False' : AZW3, EPUB, MOBI --generate-titles '' . : 'False' : AZW3, EPUB, MOBI --genre-source-field ''. : '' : AZW3, EPUB, MOBI --header-note-source-field . : '' : AZW3, EPUB, MOBI --merge-comments-rule #< >:[|]:[|] : < > [|] [|] - : '::' : AZW3, EPUB, MOBI --output-profile . . 'kindle' 'kindle_dx' . : 'None' : AZW3, EPUB, MOBI --prefix-rules . ('< >','< >','<>','<>'). . : "(('Read books','tags','+','\/'),('Wishlist item','tags','Wishlist','x'))" : AZW3, EPUB, MOBI --preset . . : 'None' : AZW3, EPUB, MOBI --thumb-width () . : 1.0 - 2.0 : '1.0' : AZW3, EPUB, MOBI --use-existing-cover . : 'False' : AZW3, EPUB, MOBI SAVED_SEARCHES calibredb saved_searches [] (list|add|remove) . . : calibredb saved_searches add search_name search_expression : calibredb saved_searches remove search_name calibredb . : "/some path/with spaces" ADD_CUSTOM_COLUMN calibredb add_custom_column [] label name datatype . label . . name . datatype : bool, comments, composite, datetime, enumeration, float, int, rating, series, text calibredb . : "/some path/with spaces" --display . JSON. --display"{\ "enum_values\ ":[\ "val1\ ", \ "val2\ "]}" . : : composite_template, composite_sort, make_category, contains_html, use_decorations : date_format : enum_values, enum_colors, use_decorations : number_format : is_names, use_decorations OPF ( OPF ). JSON "" OPF. --is-multiple ( ). . CUSTOM_COLUMNS %p rog custom_columns [options] . calibredb . : "/some path/with spaces" --details, -d . REMOVE_CUSTOM_COLUMN calibredb remove_custom_column [] label label. custom_columns. calibredb . : "/some path/with spaces" --force, -f SET_CUSTOM calibredb set_custom [] column id value id. . custom_columns. calibredb . : "/some path/with spaces" --append, -a . RESTORE_DATABASE calibredb restore_database [] OPF . metadata.db . : . . OPF. calibredb . : "/some path/with spaces" --really-do-it, -r . . CHECK_LIBRARY calibredb check_library [options] . invalid_titles, extra_titles, invalid_authors, extra_authors, missing_formats, extra_formats, extra_files, missing_covers, extra_covers, malformed_formats, malformed_paths, failed_folders calibredb . : "/some path/with spaces" --csv, -c CSV --ignore_extensions, -e . : --ignore_names, -n . : --report, -r . : --vacuum-fts-db . . LIST_CATEGORIES calibredb list_categories [] . . calibredb . : "/some path/with spaces" --categories, -r . : --csv, -c CSV --dialect CSV . : excel, excel-tab, unix --item_count, -i --width, -w . . BACKUP_METADATA calibredb backup_metadata [options] OPF . OPF --all. OPF . calibredb . : "/some path/with spaces" --all OPF . . CLONE calibredb / / / . . . . calibredb . : "/some path/with spaces" EMBED_METADATA calibredb embed_metadata [options] book_id . . . 'all' book_id . . : calibredb embed_metadata 1 2 10-15 23 calibredb . : "/some path/with spaces" --only-formats, -f . . . SEARCH calibredb search [] . . : calibredb search author:asimov 'title:"i robot"' calibredb . : "/some path/with spaces" --limit, -l . . FTS_INDEX calibredb fts_index [options] enable/disable/status/reindex . enable FTS disable FTS status reindex . reindex. . calibredb . : "/some path/with spaces" --indexing-speed . "" "" . "" . --wait-for-completion FTS_SEARCH %p rog fts_search [options] . calibredb . : "/some path/with spaces" --do-not-match-on-related-words . . --include-snippets . . --indexing-threshold . 90 --match-end-marker --match-start-marker --output-format . "text" "json" - -. --restrict-to . : ids:1,2,3 search:tag:foo foo. Author Kovid Goyal Copyright Kovid Goyal 9.11.0 03, 2026 CALIBREDB(1)