.. _faq:

Frequently Asked Questions
==========================

.. contents:: Contents
  :depth: 1
  :local:

E-book format conversion
-------------------------
.. contents:: Contents
  :depth: 1
  :local:

What formats does calibre support conversion to/from?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
calibre supports the conversion of many input formats to many output formats.
It can convert every input format in the following list, to every output format.

*Input Formats:* AZW, AZW3, AZW4, CBZ, CBR, CBC, CHM, DJVU, DOCX, EPUB, FB2, FBZ, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ

*Output Formats:* AZW3, EPUB, DOCX, FB2, HTMLZ, OEB, LIT, LRF, MOBI, PDB, PMLZ, RB, PDF, RTF, SNB, TCR, TXT, TXTZ, ZIP

.. note ::

    PRC is a generic format, calibre supports PRC files with TextRead and MOBIBook headers.
    PDB is also a generic format. calibre supports eReader, Plucker (input only), PML and zTxt PDB files.
    DJVU support is only for converting DJVU files that contain embedded text. These are typically generated by OCR software.
    MOBI books can be of two types Mobi6 and KF8. calibre fully supports both. MOBI files often have .azw or .azw3 file extensions.
    DOCX files from Microsoft Word 2007 and newer are supported.

.. _best-source-formats:

What are the best source formats to convert?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order of decreasing preference: LIT, MOBI, AZW, EPUB, AZW3, FB2, FBZ, DOCX, HTML, PRC, ODT, RTF, PDB, TXT, PDF

I converted a PDF file, but the result has various problems?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PDF is a terrible format to convert from. For a list of the various issues you will encounter when converting PDF, see: :ref:`pdfconversion`.


.. _char-encoding-faq:

How do I convert my file containing non-English characters, or smart quotes?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are two aspects to this problem:
  1. Knowing the encoding of the source file: calibre tries to guess what character encoding your source files use, but often, this is impossible, so you need to tell it what encoding to use. This can be done in the GUI via the :guilabel:`Input character encoding` field in the :guilabel:`Look & feel->Text` section of the conversion dialog. The command-line tools have an :option:`ebook-convert-txt-input --input-encoding` option.
  2. When adding HTML files to calibre, you may need to tell calibre what encoding the files are in. To do this go to :guilabel:`Preferences->Advanced->Plugins->File Type plugins` and customize the HTML2Zip plugin, telling it what encoding your HTML files are in. Now when you add HTML files to calibre they will be correctly processed. HTML files from different sources often have different encodings, so you may have to change this setting repeatedly. A common encoding for many files from the web is ``cp1252`` and I would suggest you try that first. Note that when converting HTML files, leave the input encoding setting mentioned above blank. This is because the HTML2ZIP plugin automatically converts the HTML files to a standard encoding (utf-8).

What's the deal with Table of Contents in MOBI files?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The first thing to realize is that most e-books have two tables of contents. One is the traditional Table of Contents, like the ToC you find in paper books. This Table of Contents is part of the main document flow and can be styled however you like. This ToC is called the *content ToC*.

Then there is the *metadata ToC*. A metadata ToC is a ToC that is not part of the book text and is typically accessed by some special button on a reader. For example, in the calibre viewer, you use the Show Table of Contents button to see this ToC. This ToC cannot be styled by the book creator. How it is represented is up to the viewer program.

In the MOBI format, the situation is a little confused. This is because the MOBI format, alone amongst mainstream e-book formats, *does not* have decent support for a metadata ToC. A MOBI book simulates the presence of a metadata ToC by putting an *extra* content ToC at the end of the book. When you click Goto Table of Contents on your Kindle, it is to this extra content ToC that the Kindle takes you.

Now it might well seem to you that the MOBI book has two identical ToCs. Remember that one is semantically a content ToC and the other is a metadata ToC, even though both might have exactly the same entries and look the same. One can be accessed directly from the Kindle's menus, the other cannot.

When converting to MOBI, calibre detects the *metadata ToC* in the input document and generates an end-of-file ToC in the output MOBI file. You can turn this off by an option in the MOBI Output settings. You can also tell calibre whether to put it and the start or the end of the book via an option in the MOBI Output settings. Remember this ToC is semantically a *metadata ToC*, in any format other than MOBI it *cannot not be part of the text*. The fact that it is part of the text in MOBI is an accident caused by the limitations of MOBI. If you want a ToC at a particular location in your document text, create one by hand. So we strongly recommend that you leave the default as it is, i.e. with the metadata ToC at the end of the book. Also note that if you disable the generation of the end-of-file ToC the resulting MOBI file may not function correctly on a Kindle, since the Kindle's use the metadata ToC for many things, including the Page Flip feature.

If you have a hand edited ToC in the input document, you can use the ToC detection options in calibre to automatically generate the metadata ToC from it. See the conversion section of the User Manual for more details on how to use these options.

Finally, I encourage you to ditch the content ToC and only have a metadata ToC in your e-books. Metadata ToCs will give the people reading your e-books a much superior navigation experience (except on the Kindle, where they are essentially the same as a content ToC).

.. note::
    The newer AZW3 format has proper support for a metadata ToC. However, the
    Kindle firmware tends to malfunction if you disable the generation of the
    end-of-file inline ToC. So it is recommended that you leave the generated
    ToC alone. If you create an AZW3 file with a metadata ToC and no
    end-of-file generated ToC, some features on the Kindle will not work, such
    as the Page Flip feature.

The covers for my MOBI files have stopped showing up in Kindle for PC/Kindle for Android/iPad etc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is caused by a bug in the Amazon software. You can work around it by going
to :guilabel:`Preferences->Conversion->Output Options->MOBI output` and setting
the :guilabel:`Enable sharing of book content` option. If you are reconverting
a previously converted book, you will also have to enable the option in the
conversion dialog for that individual book (as per book conversion settings are
saved and take precedence).

Note that doing this will mean that the generated MOBI will show up under
personal documents instead of Books on the Kindle Fire and Amazon whispersync
will not work, but the covers will. It's your choice which functionality is
more important to you. I encourage you to contact Amazon and ask them to fix
this bug.

The bug in Amazon's software is that when you put a MOBI file on a Kindle,
unless the file is marked as a Personal document, Amazon assumes you bought the
book from it and tries to download the cover thumbnail for it from its servers. When the
download fails, it refuses to fallback to the cover defined in the MOBI file.
This is likely deliberate on Amazon's part to try to force authors to sell only
through them. In other words, the Kindle only displays covers for books marked as
Personal Documents or books bought directly from Amazon.

If you send a MOBI file to an e-ink Kindle with calibre using a USB connection,
calibre works around this Amazon bug by uploading a cover thumbnail itself.
However, that workaround is only possible when using a USB connection and
sending with calibre. Note that if you send using email, Amazon will
automatically mark the MOBI file as a Personal Document and the cover will
work, but the book will show up in Personal Documents.

How do I convert a collection of HTML files in a specific order?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to convert a collection of HTML files in a specific order, you have to
create a table of contents file. That is, another HTML file that contains links
to all the other files in the desired order. Such a file looks like::

   <html>
      <body>
        <h1>Table of Contents</h1>
        <p style="text-indent:0pt">
           <a href="file1.html">First File</a><br/>
           <a href="file2.html">Second File</a><br/>
           .
           .
           .
        </p>
      </body>
   </html>

Then, just add this HTML file to the GUI and use the :guilabel:`Convert` button to create
your e-book. You can use the option in the Table of Contents section in the
conversion dialog to control how the Table of Contents is generated.

.. note:: By default, when adding HTML files, calibre follows links in the files
    in *depth first* order. This means that if file A.html links to B.html and
    C.html and D.html, but B.html also links to D.html, then the files will be
    in the order A.html, B.html, D.html, C.html. If instead you want the order
    to be A.html, B.html, C.html, D.html then you must tell calibre to add your
    files in *breadth first* order. Do this by going to :guilabel:`Preferences->Advanced->Plugins`
    and customizing the HTML to ZIP plugin.

The EPUB I produced with calibre is not valid?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

calibre does not guarantee that an EPUB produced by it is valid. The only
guarantee it makes is that if you feed it valid XHTML 1.1 + CSS 2.1 it will
output a valid EPUB. calibre tries hard to ensure that EPUBs it produces actually
work as intended on a wide variety of devices, a goal that is incompatible with
producing valid EPUBs, and one that is far more important to the vast majority
of its users. If you need a tool that always produces valid EPUBs, calibre is not
for you. This means, that if you want to send a calibre produced EPUB to an
online store that uses an EPUB validity checker, you have to make sure that the
EPUB is valid yourself, calibre will not do it for you -- in other words you
must feed calibre valid XHTML + CSS as the input documents.


How do I use some of the advanced features of the conversion tools?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can get help on any individual feature of the converters by mousing over
it in the GUI or running ``ebook-convert dummy.html .epub -h`` at a terminal.
A good place to start is to look at the following demo file that demonstrates
some of the advanced features
`html-demo.zip <https://calibre-ebook.com/downloads/html-demo.zip>`_


Device integration
-------------------

.. contents:: Contents
  :depth: 1
  :local:

What devices does calibre support?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
calibre can directly connect to all the major (and most of the minor) e-book
reading devices, smarthphones, tablets, etc.  In addition, using the
:guilabel:`Connect to folder` function you can use it with any e-book reader
that exports itself as a USB disk. Finally, you can connect wirelessly to any
device that has a web browser using the calibre Content server.

.. _devsupport:

How can I help get my device supported in calibre?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If your device appears as a USB disk to the operating system, adding support for it to calibre is very easy.
We just need some information from you:

  * Complete list of e-book formats that your device supports.
  * Is there a special directory on the device in which all e-book files should be placed? Also does the device detect files placed in sub-directories?
  * We also need information about your device that calibre will collect automatically. First, if your
    device supports SD cards, insert them. Then connect your device to the computer. In calibre go to :guilabel:`Preferences->Miscellaneous`
    and click the "Debug device detection" button. This will create some debug output. Copy it to a file
    and repeat the process, this time with your device disconnected from your computer.
  * Send both the above outputs to us with the other information and we will write a device driver for your
    device.

Once you send us the output for a particular operating system, support for the device in that operating system
will appear in the next release of calibre. To send us the output, open a bug report and attach the output to it.
See `calibre bugs <https://calibre-ebook.com/bugs>`_.

My device is not being detected by calibre?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Follow these steps to find the problem:

    * Make sure that you are connecting only a single device to your computer
      at a time. Do not have another calibre supported device like an iPhone/iPad
      etc. at the same time.
    * If you are connecting an Apple iDevice (iPad, iPod Touch, iPhone), Apple
      no longer allows third party software to connect to their devices using a
      USB cable. Instead use a wireless connection, via the calibre Content
      server.
    * Make sure you are running the latest version of calibre. The latest version
      can always be downloaded from `the calibre website <https://calibre-ebook.com/download>`_.
      You can tell what version of calibre you are currently running by looking
      at the bottom line of the main calibre window.
    * Ensure your operating system is seeing the device. That is, the device
      should show up in Windows Explorer (in Windows) or Finder (in macOS).
    * In calibre, go to :guilabel:`Preferences->Ignored Devices` and check that your device
      is not being ignored
    * If all the above steps fail, go to :guilabel:`Preferences->Miscellaneous` and click
      :guilabel:`Debug device detection` with your device attached and post the output as a
      ticket on `the calibre bug tracker <https://bugs.launchpad.net/calibre>`_.

My device is non-standard or unusual. What can I do to connect to it?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In addition to the :guilabel:`Connect to folder` function found under the
:guilabel:`Connect/share` button, calibre provides a ``User defined`` device
plugin that can be used to connect to any USB device that shows up as a disk
drive in your operating system. Note: on Windows, the device must have a drive
letter for calibre to use it. See the device plugin ``Preferences -> Plugins ->
Device plugins -> User defined`` and ``Preferences -> Miscellaneous -> Get
information to setup the user defined device`` for more information. Note that
if you are using the user defined plugin for a device normally detected by a
builtin calibre plugin, you must disable the builtin plugin first, so that your
user defined plugin is used instead.

How does calibre manage collections on my SONY reader?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

When calibre connects with the reader, it retrieves all collections for the books on the reader. The collections
of which books are members are shown on the device view.

When you send a book to the reader, calibre will add the book to collections based on the metadata for that book. By
default, collections are created from tags and series. You can control what metadata is used by going to
:guilabel:`Preferences->Advanced->Plugins->Device Interface plugins` and customizing the SONY device interface plugin. If you remove all
values, calibre will not add the book to any collection.

Collection management is largely controlled by the 'Metadata management' option found at
:guilabel:`Preferences->Import/export->Sending books to devices`. If set to 'Manual' (the default), managing collections is left to
the user; calibre will not delete already existing collections for a book on your reader when you resend the
book to the reader, but calibre will add the book to collections if necessary.  To ensure that the collections
for a book are based only on current calibre metadata, first delete the books from the reader, then resend the
books.  You can edit collections directly on the device view by double-clicking or right-clicking in the
collections column.

If 'Metadata management' is set to 'Only on send', then calibre will manage collections more aggressively.
Collections will be built using calibre metadata exclusively.  Sending a book to the reader will correct the
collections for that book so its collections exactly match the book's metadata, adding and deleting
collections as necessary.  Editing collections on the device view is not permitted, because collections not in
the metadata will be removed automatically.

If 'Metadata management' is set to 'Automatic management', then calibre will update metadata and collections
both when the reader is connected and when books are sent. When calibre detects the reader and generates the
list of books on the reader, it will send metadata from the library to the reader for all books on the reader
that are in the library (On device is True), adding and removing books from collections as indicated by the
metadata and device customization. When a book is sent, calibre corrects the metadata for that book, adding and
deleting collections. Manual editing of metadata on the device view is not allowed. Note that this option
specifies sending metadata, not books. The book files on the reader are not changed.

In summary, choose 'manual management' if you want to manage collections yourself.  Collections for a book
will never be removed by calibre, but can be removed by you by editing on the device view.  Choose 'Only on
send' if you want calibre to manage collections when you send a book, adding books to and removing books from
collections as needed.  Choose 'Automatic management' if you want calibre to keep collections up to date
whenever the reader is connected.

If you use multiple installations of calibre to manage your reader, then option 'Automatic management' may not
be what you want.  Connecting the reader to one library will reset the metadata to what is in that library.
Connecting to the other library will reset the metadata to what is in that other library. Metadata in books
found in both libraries will be flopped back and forth.

Can I use both calibre and the SONY software to manage my reader?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Yes, you can use both, provided you do not run them at the same time. That is, you should use the following sequence:
Connect reader->Use one of the programs->Disconnect reader. Reconnect reader->Use the other program->disconnect reader.

The underlying reason is that the Reader uses a single file to keep track
of 'meta' information, such as collections, and this is written to by both
calibre and the Sony software when either updates something on the Reader.
The file will be saved when the Reader is (safely) disconnected, so using one
or the other is safe if there's a disconnection between them, but if
you're not the type to remember this, then the simple answer is to stick
to one or the other for the transfer and just export/import from/to the
other via the computers hard disk.

If you do need to reset your metadata due to problems caused by using both
at the same time, then just delete the media.xml file on the Reader using
your PC's file explorer and it will be recreated after disconnection.

With recent reader iterations, SONY, in all its wisdom has decided to try to force you to
use their software. If you install it, it auto-launches whenever you connect the reader.
If you don't want to uninstall it altogether, there are a couple of tricks you can use. The
simplest is to simply re-name the executable file that launches the library program. More detail
`in the forums <https://www.mobileread.com/forums/showthread.php?t=65809>`_.

How do I use calibre with my iPad/iPhone/iPod touch?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The easiest way to transfer books wirelessly to your Apple device (iPad/iPhone/iPod)
is to use the `Calibre Companion <https://calibrecompanion.co?utm_source=Calibre&utm_medium=Website&utm_campaign=Main&utm_term=FAQ&utm_content=IOS>`__ iOS app.
This app allows calibre to connect to your Apple device wirelessly, just as though you
plugged in the device with a USB cable. You can browse files on the device
in calibre and use the :guilabel:`Send to device` button to transfer files to
your device wirelessly.

Another easy way to browse your calibre collection from your Apple device
is by using the calibre Content server, which makes your collection available
over the net. First perform the following steps in calibre

  * Set the Preferred Output Format in calibre to EPUB (The output format can be
    set under :guilabel:`Preferences->Interface->Behavior`)
  * Set the output profile to iPad (this will work for iPhone/iPods as well),
    under :guilabel:`Preferences->Conversion->Common options->Page setup`
  * Convert the books you want to read on your iDevice to EPUB format by
    selecting them and clicking the :guilabel:`Convert` button.
  * Turn on the Content server by clicking the :guilabel:`Connect/share` button
    and leave calibre running. You can also tell calibre to automatically start the
    Content server via :guilabel:`Preferences->Sharing->Sharing over the net`.

The Content server allows you to read books directly in Safari itself. In
addition, there are many apps for your iDevice that can connect to the calibre
Content server. Examples include: Marvin, Mapleread and iBooks itself.

Using the Content server
^^^^^^^^^^^^^^^^^^^^^^^^^^^

Start the Safari browser and type in the IP address and port of the computer
running the calibre server, like this::

    http://192.168.1.2:8080/

Replace ``192.168.1.2`` with the local IP address of the computer running
calibre. See :doc:`server` for details on running the server and finding out the
right IP address to use.

You will see a list of books in Safari, tap on any book and you will be given
the option to either download it, or read it in the browser itself. If you
choose to download it, Safari will ask you if you want to open it with iBooks.

How do I use calibre with my Android phone/tablet or Kindle Fire HD?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

There are two ways that you can connect your Android device to calibre. Using a USB cable -- or wirelessly, over the air.
The first step to using an Android device is installing an e-book reading
application on it. There are many free and paid e-book reading applications for
Android: Some examples (in no particular order):
`FBReader <https://play.google.com/store/apps/details?id=org.geometerplus.zlibrary.ui.android&hl=en>`_,
`Moon+ <https://play.google.com/store/apps/details?id=com.flyersoft.moonreader&hl=en>`_,
`Mantano <https://play.google.com/store/apps/details?id=com.mantano.reader.android.lite&hl=en>`_,
`Aldiko <https://play.google.com/store/apps/details?id=com.aldiko.android&hl=en>`_,
`Kindle <https://play.google.com/store/apps/details?id=com.amazon.kindle&feature=related_apps>`_.

Using a USB cable
^^^^^^^^^^^^^^^^^^^^

Simply plug your device into the computer with a USB cable. calibre should
automatically detect the device and then you can transfer books to it by
clicking the :guilabel:`Send to device` button. calibre does not have support for every
single android device out there, so if your device is not automatically
detected, follow the instructions at :ref:`devsupport` to get your device
supported in calibre.

.. note:: With newer Android devices, you might have to jump through a few hoops
    to get the connection working, as Google really does not want you to be
    independent of its cloud. First, unlock the screen before plugging in the
    USB cable. When you plugin in the USB cable you will get a popup
    notification. Make sure it says some thing like "Transferring Media files"
    or "MTP (Media Transfer mode)". If it does not, tap the notification, and
    change the mode to Media Transfer (MTP).  Finally, you might get a popup on
    the device every time calibre or the operating system actually tries to
    connect to it, asking for permission, tap OK.

Over the air
^^^^^^^^^^^^^^

The easiest way to transfer books wirelessly to your Android device is to use
the `Calibre Companion <https://calibrecompanion.co?utm_source=Calibre&utm_medium=Website&utm_campaign=Main&utm_term=FAQ&utm_content=Android>`__ Android app.
This app allows calibre to connect to your Android device wirelessly, just as though you
plugged in the device with a USB cable. You can browse files on the device
in calibre and use the :guilabel:`Send to device` button to transfer files to
your device wirelessly.

calibre also has a builtin web server, the :guilabel:`Content server`.
You can browse your calibre collection on your Android device by using the
calibre Content server, which makes your collection available over the net.
First perform the following steps in calibre

  * Set the :guilabel:`Preferred Output Format` in calibre to EPUB for normal Android devices or MOBI for Kindles (The output format can be set under :guilabel:`Preferences->Interface->Behavior`)
  * Convert the books you want to read on your device to EPUB/MOBI format by selecting them and clicking the :guilabel:`Convert` button.
  * Turn on the :guilabel:`Content server` in calibre's preferences and leave calibre running.

Now on your Android device, open the browser and browse to

    http://192.168.1.2:8080/

Replace ``192.168.1.2`` with the local IP address of the computer running
calibre. See :doc:`server` for details on running the server and finding out the
right IP address to use.

You can now browse your book collection and download books from calibre
to your device to open with whatever e-book reading software you have on your
android device.

Calibre Companion and many reading apps support browsing the calibre library
directly. For example, in Aldiko, click My Catalogs, then + to add a catalog,
then give the catalog a title such as "calibre" and provide the URL listed
above. You can now browse the calibre library and download directly into the
reading software.

Can I access my calibre books using the web browser in my Kindle or other reading device?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

calibre has a *Content server* that exports the books in calibre as a web page. See :doc:`server` for details.

Some devices, like the Kindle (1/2/DX), do not allow you to access port 8080 (the default port on which the content
server runs). In that case, change the port in the calibre Preferences to 80. (On some operating systems,
you may not be able to run the server on a port number less than 1024 because of security settings. In
this case the simplest solution is to adjust your router to forward requests on port 80 to port 8080).

Also some devices do not have browsers advanced enough to run the app-like
interface used by the content server. For such devices, you can simply add
``/mobile`` to the server URL to get a simplified, non-javascript interface.


I cannot send emails using calibre?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Because of the large amount of spam in email, sending email can be tricky, as different mail servers use different strategies to block email.
The most common problem is if you are sending email directly (without a mail relay) in calibre. Many servers (for example, Amazon) block email
that does not come from a well known relay. The most robust way to setup email sending in calibre is to do the following:

  * Create a free GMX account at `GMX <https://www.gmx.com>`_.
  * Goto :guilabel:`Preferences->Sharing->Sharing books by email` in calibre and click the :guilabel:`Use GMX` button and fill in the information asked for.
  * Log into your GMX account on the website and enable SMTP sending (`Settings->POP3 & IMAP->Send and receive emails via external program`)
  * calibre will then be able to use GMX to send the mail.
  * If you are sending to your Kindle, remember to update the email preferences
    on your Amazon Kindle page to allow email sent from your GMX email
    address. Also note that Amazon does not allow email delivery of AZW3 and
    new style (KF8) MOBI files.

Even after doing this, you may have problems. One common source of problems is that some poorly designed antivirus
programs block calibre from opening a connection to send email. Try adding an exclusion for calibre in your
antivirus program.

.. note::
    Microsoft/Google/Gmx can disable your account if you use it to send large
    amounts of email. So, when using these services to send mail calibre automatically
    restricts itself to sending one book every five minutes. If you don't mind
    risking your account being blocked you can reduce this wait interval by going
    to :guilabel:`Preferences->Advanced->Tweaks` in calibre.

.. note::
    Google recently deliberately broke their email sending protocol (SMTP) support in
    an attempt to force everyone to use their web interface so they can
    show you more ads. They are trying to claim that SMTP is insecure,
    that is incorrect and simply an excuse. If you have trouble with
    gmail you will need to
    `allow "less secure" apps as described here <https://support.google.com/accounts/answer/6010255>`_.

.. note::
    If you are concerned about giving calibre access to your email
    account, simply create a new free email account with GMX or Hotmail
    and use it only for calibre.


My device is getting mounted read-only in linux, so calibre cannot connect to it?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Linux kernels mount devices read-only when their filesystems have errors. You can repair the filesystem with::

    sudo fsck.vfat -y /dev/sdc

Replace /dev/sdc with the path to the device node of your device. You can find the device node of your device, which
will always be under /dev by examining the output of::

    mount


Why does calibre not support collections on the Kindle or shelves on the Nook?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Neither the Kindle nor the Nook provide any way to manipulate collections over
a USB connection.  If you really care about using collections, I would urge you
to sell your Kindle/Nook and get a Kobo.  Only Kobo seems to understand that
life is too short to be entering collections one by one on an e-ink screen :)

Note that in the case of the Kindle, there is a way to manipulate collections
via USB, but it requires that the Kindle be rebooted *every time* it is
disconnected from the computer, for the changes to the collections to be
recognized. As such, it is unlikely that any calibre developers will ever feel
motivated enough to support it. There is however, a calibre plugin that allows
you to create collections on your Kindle from the calibre metadata. It is
available `from here <https://www.mobileread.com/forums/showthread.php?t=244202>`_.

.. note::
    Amazon have removed the ability to manipulate collections completely
    in their newer models, like the Kindle Touch and Kindle Fire, making even the
    above plugin useless, unless you root your Kindle and install custom firmware.

I am getting an error when I try to use calibre with my Kobo Touch/Glo/etc.?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The Kobo has very buggy firmware. Connecting to it has been known to fail at
random. Certain combinations of motherboard, USB ports/cables/hubs can
exacerbate this tendency to fail. If you are getting an error when connecting
to your touch with calibre try the following, each of which has solved the
problem for *some* calibre users.

  * Connect the Kobo directly to your computer, not via USB Hub
  * Try a different USB cable and a different USB port on your computer
  * Try a different computer, in particular the Kobo does not work well with
    some Windows XP machines. If you are on Windows XP, try a computer with a
    newer version of Windows.
  * Log out of the Kobo and log in again, this causes it to rebuild the
    database, fixing corrupted database errors.
  * Try upgrading the firmware on your Kobo Touch to the latest
  * Try resetting the Kobo (sometimes this cures the problem for a little while, but then it re-appears, in which case you have to reset again and again)
  * Try only putting one or two books onto the Kobo at a time and do not keep large collections on the Kobo


I transferred some books to my Kindle using calibre and they did not show up?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Books sent to the Kindle only show up on the Kindle after they have been
*indexed* by the Kindle. This can take some time. If the book still does not
show up after some time, then it is likely that the Kindle indexer crashed.
Sometimes a particular book can cause the indexer to crash. Unfortunately, Amazon has
not provided any way to deduce which book is causing a crash on the Kindle.
Your only recourse is to either reset the Kindle, or delete all files from its
memory using Windows Explorer (or whatever file manager you use) and then send
the books to it again, one by one, until you discover the problem book. Once
you have found the problem book, delete it off the Kindle and do a MOBI to MOBI
or MOBI to AZW3 conversion in calibre and then send it back. This will most
likely take care of the problem.

Library Management
------------------

.. contents:: Contents
  :depth: 1
  :local:

Where are the book files stored?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When you first run calibre, it will ask you for a folder in which to store your books. Whenever you add a book to calibre, it will copy the book into that folder. Books in the folder are nicely arranged into sub-folders by Author and Title. Note that the contents of this folder are automatically managed by calibre, **do not** add any files/folders manually to this folder, as they may be automatically deleted. If you want to add a file associated to a particular book, use the top right area of :guilabel:`Edit metadata` dialog to do so. Then, calibre will automatically put that file into the correct folder and move it around when the title/author changes.

Metadata about the books is stored in the file ``metadata.db`` at the top level of the library folder. This file is a sqlite database. When backing up your library make sure you copy the entire folder and all its sub-folders.

The library folder and all its contents make up what is called a calibre library. You can have multiple such libraries. To manage the libraries, click the calibre icon on the toolbar. You can create new libraries, remove/rename existing ones and switch between libraries easily.

You can copy or move books between different libraries (once you have more than one library setup) by right clicking on a book and selecting the :guilabel:`Copy to library` action.

How does calibre manage author names and sorting?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Author names are complex, especially across cultures, see `this note
<https://www.w3.org/International/questions/qa-personal-names.en.php?changelang=en>`_
for some of the complexities. calibre has a very flexible strategy for managing
author names. The first thing to understand is that books and authors are
separate entities in calibre. A book can have more than one author, and an
author can have more than one book. You can manage the authors of a book by the
edit metadata dialog. You can manage individual authors by right clicking on
the author in the Tag browser on the left of the main calibre screen and
selecting :guilabel:`Manage authors`. Using this dialog you can change the name
of an author and also how that name is sorted. This will automatically change
the name of the author in all the books of that author. When a book has
multiple authors, separate their names using the & character.

Now coming to author name sorting:

    * When a new author is added to calibre (this happens whenever a book by a new author is added), calibre automatically computes a sort string for both the book and the author.
    * Authors in the Tag browser are sorted by the sort value for the **authors**. Remember that this is different from the Author sort field for a book.
    * By default, this sort algorithm assumes that the author name is in ``First name Last name`` format and generates a ``Last name, First name`` sort value.
    * You can change this algorithm by going to :guilabel:`Preferences->Advanced->Tweaks` and setting the :guilabel:`author_sort_copy_method` tweak.
    * You can force calibre to recalculate the author sort values for every author by right clicking on any author and selecting :guilabel:`Manage authors`, then pushing the `Recalculate all author sort values` button. Do this after you have set the author_sort_copy_method tweak to what you want.
    * You can force calibre to recalculate the author sort values for all books by using the bulk metadata edit dialog (select all books and click edit metadata, check the `Automatically set author sort` checkbox, then press OK.)
    * When recalculating the author sort values for books, calibre uses the author sort values for each individual author. Therefore, ensure that the individual author sort values are correct before recalculating the books' author sort values.
    * You can control whether the Tag browser display authors using their names or their sort values by setting the :guilabel:`categories_use_field_for_author_name` tweak in :guilabel:`Preferences->Advanced->Tweaks`

Note that you can set an individual author's sort value to whatever you want using :guilabel:`Manage authors`. This is useful when dealing with names that calibre will not get right, such as complex multi-part names like Miguel de Cervantes Saavedra or when dealing with Asian names like Sun Tzu.

With all this flexibility, it is possible to have calibre manage your author names however you like. For example, one common request is to have calibre display author names LN, FN. To do this, and if the note below does not apply to you, then:

    * Set the ``author_sort_copy_method`` tweak to ``copy`` as described above.
    * Restart calibre. Do not change any book metadata before doing the remaining steps.
    * Change all author names to LN, FN using the Manage authors dialog.
    * After you have changed all the authors, press the `Recalculate all author sort values` button.
    * Press OK, at which point calibre will change the authors in all your books. This can take a while.

.. note::

    When changing from FN LN to LN, FN, it is often the case that the values in author_sort are already in LN, FN format. If this is your case, then do the following:
        * Set the ``author_sort_copy_method`` tweak to ``copy`` as described above.
        * Restart calibre. Do not change any book metadata before doing the remaining steps.
        * Open the Manage authors dialog. Press the ``copy all author sort values to author`` button.
        * Check through the authors to be sure you are happy. You can still press Cancel to abandon the changes. Once you press OK, there is no undo.
        * Press OK, at which point calibre will change the authors in all your books. This can take a while.


Why doesn't calibre let me store books in my own directory structure?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The whole point of calibre's library management features is that they provide a search and sort based interface for locating books that is *much* more efficient than any possible directory scheme you could come up with for your collection. Indeed, once you become comfortable using calibre's interface to find, sort and browse your collection, you wont ever feel the need to hunt through the files on your disk to find a book again. By managing books in its own directory structure of Author -> Title -> Book files, calibre is able to achieve a high level of reliability and standardization. To illustrate why a search/tagging based interface is superior to folders, consider the following. Suppose your book collection is nicely sorted into folders with the following scheme::

    Genre -> Author -> Series -> ReadStatus

Now this makes it very easy to find for example all science fiction books by Isaac Asimov in the Foundation series. But suppose you want to find all unread science fiction books. There's no easy way to do this with this folder scheme, you would instead need a folder scheme that looks like::

    ReadStatus -> Genre -> Author -> Series

In calibre, you would instead use tags to mark genre and read status and then just use a simple search query like ``tag:scifi and not tag:read``. calibre even has a nice graphical interface, so you don't need to learn its search language instead you can just click on tags to include or exclude them from the search.

To those of you that claim that you need access to the filesystem, so that you can have access to your books over the network, calibre has an excellent Content server that gives you access to your calibre library over the net.

If you are worried that someday calibre will cease to be developed, leaving all your books marooned in its folder structure, explore the powerful :guilabel:`Save to Disk` feature in calibre that lets you export all your files into a folder structure of arbitrary complexity based on their metadata.

Finally, the reason there are numbers at the end of every title folder, is for *robustness*. That number is the id number of the book record in the calibre database. The presence of the number allows you to have multiple records with the same title and author names. It is also part of what allows calibre to magically regenerate the database with all metadata if the database file gets corrupted. Given that calibre's mission is to get you to stop storing metadata in filenames and stop using the filesystem to find things, the increased robustness afforded by the id numbers is well worth the uglier folder names.

If you are still not convinced, then I'm afraid calibre is not for you. Look elsewhere for your book cataloguing needs. Just so we're clear, **this is not going to change**. Kindly do not contact us in an attempt to get us to change this.

Why doesn't calibre have a column for foo?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

calibre is designed to have columns for the most frequently and widely used
fields. In addition, you can add any columns you like. Columns can be added via
:guilabel:`Preferences->Interface->Add your own columns`.  Watch the tutorial
`UI Power tips <https://calibre-ebook.com/demo#tutorials>`_ to learn how to
create your own columns, or read `this blog post
<http://blog.calibre-ebook.com/2011/11/calibre-custom-columns.html>`_.

You can also create "virtual columns" that contain combinations of the metadata
from other columns. In the add column dialog  use the :guilabel:`Quick create`
links to easily create columns to show the book ISBN or formats.  You can use
the powerful calibre template language to do much more with columns. For more
details, see :ref:`templatelangcalibre`.


Can I have a column showing the formats or the ISBN?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Yes, you can. Follow the instructions in the answer above for adding custom columns.

How do I move my calibre data from one computer to another?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can export all calibre data (books, settings and plugins) and
then import it on another computer. First let's see how to export the data:

  * Right click the calibre icon in the main calibre toolbar and select
    :guilabel:`Export/import all calibre data`. Note that if there is currently
    a device connected, this menu option will not be available -- so,
    disconnect any connected devices. Then click the button labelled
    :guilabel:`Export all your calibre data`. You will see a list of all your
    calibre libraries. Click OK and choose an empty folder somewhere on your
    computer. The exported data will be saved in this folder. Simply copy this
    folder to your new computer and follow the instructions below to import the
    data.

  * Install calibre on your new computer and run through the :guilabel:`Welcome wizard`, it
    does not matter what you do there, as you will be importing your old
    settings in the next step. You will now have an empty calibre, with just
    the :guilabel:`Getting Started` guide in your library. Once again, right
    click the calibre button and choose :guilabel:`Export/import all calibre
    data`. Then click the button labelled :guilabel:`Import previously exported
    data`. Select the folder with the exported data that you copied over
    earlier. You will now have a list of libraries you can import. Go through
    the list one by one, and select the new location for each library (a
    location is just an empty folder somewhere on your computer). Click OK.
    After the import completes, calibre will restart, with all your old
    libraries, settings and calibre plugins.


.. note:: This import/export functionality is only available from calibre
    version 2.47 onwards. If you have an older version of calibre, or if you
    encounter problems with the import/export, you can just copy over your
    calibre library folder manually, as described in the next paragraph.

    Simply copy the calibre library folder from the old to the new computer. You can
    find out what the library folder is by clicking the calibre icon in the
    toolbar. Choose the :guilabel:`Switch/create calibre library` action and
    you will see the path to the current calibre library.

    Now on the new computer, start calibre for the first time. It will run the
    :guilabel:`Welcome wizard` asking you for the location of the calibre library. Point it
    to the previously copied folder. If the computer you are transferring to
    already has a calibre installation, then the :guilabel:`Welcome wizard` wont run. In
    that case, right-click the calibre icon in the toolbar and point it to the
    newly copied directory. You will now have two calibre libraries on your
    computer and you can switch between them by clicking the calibre icon on
    the toolbar. Transferring your library in this manner preserver all your
    metadata, tags, custom columns, etc.


The list of books in calibre is blank!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In order to understand why that happened, you have to understand what a calibre
library is. At the most basic level, a calibre library is just a folder. Whenever
you add a book to calibre, that book's files are copied into this folder
(arranged into sub folders by author and title). Inside the calibre library
folder, at the top level, you will see a file called metadata.db. This file is
where calibre stores the metadata like title/author/rating/tags etc. for *every*
book in your calibre library. The list of books that calibre displays is created by
reading the contents of this metadata.db file.

There can be two reasons why calibre is showing a empty list of books:

  * Your calibre library folder changed its location. This can happen if it was
    on an external disk and the drive letter for that disk changed. Or if you
    accidentally moved the folder. In this case, calibre cannot find its library
    and so starts up with an empty library instead. To remedy this, do a
    right-click on the calibre icon in the calibre toolbar and select Switch/create
    library. Click the little blue icon to select the new location of your
    calibre library and click OK. If you don't know the new location search your
    computer for the file :file:`metadata.db`.

  * Your metadata.db file was deleted/corrupted. In this case, you can ask
    calibre to rebuild the metadata.db from its backups. Right click the calibre
    icon in the calibre toolbar and select Library maintenance->Restore database.
    calibre will automatically rebuild metadata.db.

I am getting errors with my calibre library on a networked drive/NAS?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

**Do not put your calibre library on a networked drive**.

A filesystem is a complex beast. Most network filesystems lack various
filesystem features that calibre uses. Some don't support file locking, some don't
support hardlinking, some are just flaky. Additionally, calibre is a single user
application, if you accidentally run two copies of calibre on the same networked
library, bad things will happen. Finally, different OSes impose different
limitations on filesystems, so if you share your networked drive across OSes,
once again, bad things *will happen*.

Consider using the calibre Content server to make your books available on other
computers. Run calibre on a single computer and access it via the Content
server or a Remote Desktop solution.

If you must share the actual library, use a file syncing tool like
DropBox or rsync instead of a networked drive. If you are
using a file-syncing tool it is **essential** that you make sure that both
calibre and the file syncing tool do not try to access the calibre library at the
same time. In other words, **do not** run the file syncing tool and calibre at
the same time.

Even with these tools there is danger of data corruption/loss, so only do this
if you are willing to live with that risk. In particular, be aware that
**Google Drive** is incompatible with calibre, if you put your calibre library in
Google Drive, **you will suffer data loss**. See `this thread
<https://www.mobileread.com/forums/showthread.php?t=205581>`_ for details.


Miscellaneous
--------------

.. contents:: Contents
  :depth: 1
  :local:


I want calibre to download news from my favorite news website.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are reasonably proficient with computers, you can teach calibre to download news from any website of your choosing. To learn how to do this see :ref:`news`.

Otherwise, you can request a particular news site by posting in the `calibre Recipes forum <https://www.mobileread.com/forums/forumdisplay.php?f=228>`_.


Why the name calibre?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Take your pick:
  * Convertor And LIBRary for E-books
  * A high *calibre* product
  * A tribute to the SONY Librie which was the first e-ink based e-book reader
  * My wife chose it ;-)

calibre is pronounced as cal-i-ber *not* ca-li-bre. If you're wondering, calibre is the British/commonwealth spelling for caliber. Being Indian, that's the natural spelling for me.

Why does calibre show only some of my fonts on macOS?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

calibre embeds fonts in e-book files it creates. E-book files support embedding
only TrueType and OpenType (.ttf and .otf) fonts. Most fonts on macOS systems
are in .dfont format, thus they cannot be embedded. calibre shows only TrueType
and OpenType fonts found on your system. You can obtain many such fonts on the
web. Simply download the .ttf/.otf files and add them to the Library/Fonts
directory in your home directory.

calibre is not starting on Windows?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There can be several causes for this:

    * If you are on Windows XP, or on a computer with a processor that does not
      support SSE2 (such as AMD processors from before 2003) try installing
      calibre `version 1.48 <https://download.calibre-ebook.com/1.48.0/>`_. calibre
      2.0 and newer use Qt 5 which is known to be incompatible with Windows XP
      machines, and requires SSE2. Simply un-install calibre and then install
      version 1.48, doing so will not affect your books/settings.

    * If you get an error about calibre not being able to open a file because it is in use by another program, do the following:

       * Uninstall calibre
       * Reboot your computer
       * Re-install calibre. But do not start calibre from the installation wizard.
       * Temporarily disable your antivirus program (disconnect from the Internet before doing so, to be safe)
       * Look inside the folder you chose for your calibre library. If you see a file named metadata.db, delete it.
       * Start calibre
       * From now on you should be able to start calibre normally.

    * If you get an error about a Python function terminating unexpectedly after upgrading calibre, first uninstall calibre, then delete the folders (if they exists)
      :file:`C:\\Program Files\\Calibre` and :file:`C:\\Program Files\\Calibre2`. Now re-install and you should be fine.
    * If you get an error in the :guilabel:`Welcome wizard` on an initial run of calibre, try choosing a folder like :file:`C:\\library` as the calibre library (calibre sometimes
      has trouble with library locations if the path contains non-English characters, or only numbers, etc.)
    * Try running it as Administrator (Right click on the icon and select "Run as Administrator")

If it still wont launch, start a command prompt (press the Windows key and R; then type :command:`cmd.exe` in the Run dialog that appears). At the command prompt type the following command and press Enter::

    calibre-debug -g

Post any output you see in a help message on the `Forum <https://www.mobileread.com/forums/forumdisplay.php?f=166>`_.

calibre freezes/crashes occasionally?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

There are several possible things I know of, that can cause this:

    * You recently connected an external monitor or TV to your computer. In
      this case, whenever calibre opens a new window like the edit metadata
      window or the conversion dialog, it appears on the second monitor where
      you don't notice it and so you think calibre has frozen. Disconnect your
      second monitor and restart calibre.

    * The following programs have been reported to cause crashes in calibre: If
      you are running any of these, close them before starting calibre, or
      uninstall them:
      *RoboForm*, *Logitech SetPoint Settings*, *Constant Guard Protection by
      Xfinity*, *Spybot*, *Killer Network Manager*, *Nahimic UI Interface*,
      *Acronis True Image*.

    * You are using a Wacom branded USB mouse/tablet. There is an incompatibility between
      Wacom drivers and the graphics toolkit calibre uses. Try using a non-Wacom
      mouse.

    * On some 64 bit versions of Windows there are security software/settings
      that prevent 64-bit calibre from working properly. If you are using the 64-bit
      version of calibre try switching to the 32-bit version.

    * If the crash happens when you are trying to copy text from the calibre
      E-book viewer, it is most likely caused by some clipboard
      monitoring/managing application you have running. Turn it off and you
      should be fine.

    * If the crashes happen specifically when you are using a file dialog, like
      clicking on the :guilabel:`Add books` button or the :guilabel:`Save to
      Disk button`, then you have some software that has installed broken Shell
      extensions on your computer. Known culprits include: *SpiderOak*, *odrive
      sync* and *Dell Backup and Recovery* and *NetDrive*. If you have one of
      these, uninstall them and you will be fine. You can also use the `NirSoft
      Shell Extension Viewer <https://www.nirsoft.net/utils/shexview.html>`_ to
      see what shell extensions are installed on your system and disable them
      individually, if you dont want to uninstall the full program.  Remember
      to use "Restart Explorer" or reboot your computer after disabling the
      shell extensions.

If none of the above apply to you, then there is some other program on your
computer that is interfering with calibre. First reboot your computer in safe
mode, to have as few running programs as possible, and see if the crashes still
happen. If they do not, then you know it is some program causing the problem.
The most likely such culprit is a program that modifies other programs'
behavior, such as an antivirus, a device driver, something like RoboForm (an
automatic form filling app) or an assistive technology like Voice Control or a
Screen Reader.

The only way to find the culprit is to eliminate the programs one by one and
see which one is causing the issue. Basically, stop a program, run calibre,
check for crashes. If they still happen, stop another program and repeat.


Using the viewer or doing any conversions results in a permission denied error on Windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Something on your computer is preventing calibre from accessing its own
temporary files. Most likely the permissions on your :file:`Temp` folder are incorrect.
Go to the folder file:`C:\\Users\\USERNAME\\AppData\\Local` in Windows
Explorer and then right click on the file:`Temp` folder, select :guilabel:`Properties` and go to
the :guilabel:`Security` tab. Make sure that your user account has full control for this
folder.

Some users have reported that running the following command in an Administrator
Command Prompt fixed their permissions.  To get an Administrator Command Prompt
search for cmd.exe in the start menu, then right click on the command prompt
entry and select Run as Administrator. At the command prompt type the following
command and press Enter::

    icacls "%appdata%\..\Local\Temp" /reset /T

Alternately, you can run calibre as Administrator, but doing so will cause
some functionality, such as drag and drop to not work.

Finally, some users have reported that disabling UAC fixes the problem.


calibre is not starting/crashing on macOS?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

One common cause of failures on macOS is the use of accessibility technologies
that are incompatible with the graphics toolkit calibre uses.  Try turning off
VoiceOver if you have it on. Also go to System Preferences->System->Universal
Access and turn off the setting for enabling access for assistive devices in
all the tabs. Another cause can be some third party apps that modify system
behavior, such as Smart Scroll.

You can obtain debug output about why calibre is not starting by running `Console.app`. Debug output will
be printed to it. If the debug output contains a line that looks like::

    Qt: internal: -108: Error ATSUMeasureTextImage text/qfontengine_mac.mm

then the problem is probably a corrupted font cache. You can clear the cache by following these
`instructions <https://www.macworld.com/article/1139383/fontcacheclear.html>`_. If that doesn't
solve it, look for a corrupted font file on your system, in ~/Library/Fonts or the like. An easy way to
check for corrupted fonts in macOS is to start the "Font Book" application, select all fonts and then in the File
menu, choose "Validate fonts".


I downloaded the installer, but it is not working?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Downloading from the Internet can sometimes result in a corrupted download. If the calibre installer you downloaded is not opening, try downloading it again. If re-downloading it does not work, download it from `an alternate location <https://github.com/kovidgoyal/calibre/releases/latest>`_. If the installer still doesn't work, then something on your computer is preventing it from running.

    * Try temporarily disabling your antivirus program (Microsoft Security Essentials, or Kaspersky or Norton or McAfee or whatever). This is most likely the culprit if the upgrade process is hanging in the middle.
    * Try rebooting your computer and running a registry cleaner like `Wise registry cleaner <https://www.wisecleaner.com>`_.
    * Try a clean install. That is, uninstall calibre, delete :file:`C:\\Program Files\\Calibre2` (or wherever you previously chose to install calibre). Then re-install calibre. Note that uninstalling does not touch your books or settings.
    * Try downloading the installer with an alternate browser. For example if you are using Internet Explorer, try using Firefox or Chrome instead.
    * If you get an error about a missing DLL on Windows, then most likely, the
      permissions on your temporary folder are incorrect. Go to the folder
      :file:`C:\\Users\\USERNAME\\AppData\\Local` in Windows explorer and then
      right click on the :file:`Temp` folder and select :guilabel:`Properties` and go to
      the :guilabel:`Security` tab. Make sure that your user account has full control
      for this folder.

If you still cannot get the installer to work and you are on Windows, you can use the `calibre portable install <https://calibre-ebook.com/download_portable>`_, which does not need an installer (it is just a zip file).

My antivirus program claims calibre is a virus/trojan?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The first thing to check is that you are downloading calibre from the official
website: `<https://calibre-ebook.com/download>`_. Make sure you are clicking the
download links on the left, not the advertisements on the right. calibre is a
very popular program and unscrupulous people try to setup websites offering it
for download to fool the unwary.

If you have the official download and your antivirus program is still claiming
calibre is a virus, then, your antivirus program is wrong. Antivirus programs use
heuristics, patterns of code that "look suspicious" to detect viruses. It's
rather like racial profiling. calibre is a completely open source product. You
can actually browse the source code yourself (or hire someone to do it for you)
to verify that it is not a virus. Please report the false identification to
whatever company you buy your antivirus software from. If the antivirus program
is preventing you from downloading/installing calibre, disable it temporarily,
install calibre and then re-enable it.

How do I backup calibre?
~~~~~~~~~~~~~~~~~~~~~~~~~~~

The most important thing to backup is the calibre library folder, that contains all your books and metadata. This is the folder you chose for your calibre library when you ran calibre for the first time. You can get the path to the library folder by clicking the calibre icon on the main toolbar. You must backup this complete folder with all its files and sub-folders.

You can switch calibre to using a backed up library folder by simply clicking the calibre icon on the toolbar and choosing your backup library folder. A backed up library folder backs up your custom columns and saved searches as well as all your books and metadata.

If you want to backup the calibre configuration/plugins, you have to backup the config directory. You can find this config directory via :guilabel:`Preferences->Miscellaneous`. Note that restoring configuration directories is not officially supported, but should work in most cases. Just copy the contents of the backup directory into the current configuration directory to restore.

How do I use purchased EPUB books with calibre (or what do I do with .acsm files)?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Most purchased EPUB books have `DRM <https://drmfree.calibre-ebook.com/about#drm>`_. This prevents calibre from opening them. You can still use calibre to store and transfer them to your e-book reader. First, you must authorize your reader on a windows machine with Adobe Digital Editions. Once this is done, EPUB books transferred with calibre will work fine on your reader. When you purchase an epub book from a website, you will get an ".acsm" file. This file should be opened with Adobe Digital Editions, which will then download the actual ".epub" e-book. The e-book file will be stored in the folder "My Digital Editions", from where you can add it to calibre.

I am getting a "Permission Denied" error?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A permission denied error can occur because of many possible reasons, none of them having anything to do with calibre.

  * You can get permission denied errors if you are using an SD card with write protect enabled.
  * If you, or some program you used changed the file permissions of the files in question to read only.
  * If there is a filesystem error on the device which caused your operating system to mount the filesystem in read only mode or mark a particular file as read only pending recovery.
  * If the files have their owner set to a user other than you.
  * If your file is open in another program.
  * If the file resides on a device, you may have reached the limit of a maximum of 256 files in the root of the device. In this case you need to reformat the device/sd card referred to in the error message with a FAT32 filesystem, or delete some files from the SD card/device memory.

You will need to fix the underlying cause of the permissions error before resuming to use calibre. Read the error message carefully, see what file it points to and fix the permissions on that file or its containing folders.

Can I have the comment metadata show up on my reader?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Most readers do not support this. You should complain to the manufacturer about it and hopefully if enough people complain, things will change. In the meantime, you can insert the metadata, including comments into a "Jacket page" at the start of the e-book, by using the option to "Insert metadata as page at start of book" during conversion. The option is found in the :guilabel:`Structure detection` section of the conversion settings. Note that for this to have effect you have to *convert* the book. If your book is already in a format that does not need conversion, you can convert from that format to the same format.

Another alternative is to create a catalog in e-book form containing a listing of all the books in your calibre library, with their metadata. Click-and-hold the :guilabel:`Convert` button to access the catalog creation tool. And before you ask, no you cannot have the catalog "link directly to" books on your reader.

How do I get calibre to use my HTTP proxy?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

By default, calibre uses whatever proxy settings are set in your OS. Sometimes
these are incorrect, for example, on Windows if you don't use Internet Explorer
then the proxy settings may not be up to date. You can tell calibre to use a
particular proxy server by setting the ``http_proxy`` and ``https_proxy``
environment variables. The format of the variable is:
``http://username:password@servername`` you should ask your network
administrator to give you the correct value for this variable.  Note that
calibre only supports HTTP proxies not SOCKS proxies. You can see the current
proxies used by calibre in Preferences->Miscellaneous.

I want some feature added to calibre. What can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You have two choices:
 1. Create a patch by hacking on calibre and send it to me for review and inclusion. See `Development <https://calibre-ebook.com/get-involved>`_.
 2. `Open a bug requesting the feature <https://calibre-ebook.com/bugs>`_ . Remember that while you may think your feature request is extremely important/essential, calibre developers might not agree. Fortunately, calibre is open source, which means you always have the option of implementing your feature yourself, or hiring someone to do it for you. Furthermore, calibre has a comprehensive plugin architecture, so you might be able to develop your feature as a plugin, see :ref:`pluginstutorial`.

Why doesn't calibre have an automatic update?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For many reasons:

  * *There is no need to update every week*. If you are happy with how calibre
    works turn off the update notification and be on your merry way. Check back
    to see if you want to update once a year or so. There is a check box to
    turn off the update notification, on the update notification itself.

  * calibre downloads currently use `about 100TB of bandwidth a month
    <https://calibre-ebook.com/dynamic/downloads>`_. Implementing automatic
    updates would greatly increase that and end up costing thousands of dollars
    a month, which someone has to pay.

  * If I implement a dialog that downloads the update and launches it, instead
    of going to the website as it does now, that would save the most ardent
    calibre updater, *at most five clicks a week*. There are far higher priority
    things to do in calibre development.

  * If you really, really hate downloading calibre every week but still want to
    be up to the latest, I encourage you to run from source, which makes
    updating trivial. Instructions are :ref:`available here <develop>`.

  * There are third party automatic updaters for calibre made by calibre users
    in the `calibre forum <https://www.mobileread.com/forums/forumdisplay.php?f=238>`_.

How is calibre licensed?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
calibre is licensed under the GNU General Public License v3 (an open source license). This means that you are free to redistribute calibre as long as you make the source code available. So if you want to put calibre on a CD with your product, you must also put the calibre source code on the CD. The source code is available `for download <https://download.calibre-ebook.com>`_. You are free to use the results of conversions from calibre however you want. You cannot use either code or libraries from calibre in your software without making your software open source. For details, see `The GNU GPL v3 <https://www.gnu.org/licenses/gpl.html>`_.

How do I run calibre from my USB stick?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A portable version of calibre is available `here <https://calibre-ebook.com/download_portable>`_.

How do I run parts of calibre like news download and the Content server on my own linux server?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

First, you must install calibre onto your Linux server. If your server is using
a modern Linux distribution, you should have no problems installing calibre onto it.

.. note::
    calibre needs GLIBC >= 2.17 and libstdc++ >= 6.0.17. If you have an older
    server, you will either need to compile these from source, or use calibre
    2.85.1 which requires GLIBC >= 2.13 or calibre 1.48 which requires only
    GLIBC >= 2.10. In addition, although the calibre command line utilities do
    not need a running X server, some of them do require the X server libraries
    to be installed on your system. This is because of Qt, which is used for
    various image processing tasks, and links against these libraries. If you
    get an ImportError about some Qt modules, you are likely missing some X
    libraries.

You can run the calibre server via the command::

    /opt/calibre/calibre-server /path/to/the/library/you/want/to/share

You can download news and convert it into an e-book with the command::

   /opt/calibre/ebook-convert "Title of news source.recipe" outputfile.epub

If you want to generate MOBI, use outputfile.mobi instead and use ``--output-profile kindle``.

You can email downloaded news with the command::

    /opt/calibre/calibre-smtp

I leave figuring out the exact command line as an exercise for the reader.

Finally, you can add downloaded news to the calibre library with::

   /opt/calibre/calibredb add --with-library /path/to/library outfile.epub

Remember to read the :ref:`cli` section of the calibre User Manual to learn more about these, and other commands.
