Linux Applications

How to Transfer Books and Other Files to Kindle E-Reader Using Linux

This article will explain how to transfer various files to your Kindle ebook reader connected to a Linux system through a USB connection. The first few sections of the article will cover the file transfer process without using any third party software. The last section will cover ebook transfer and conversion using the “Calibre” ebook management software suite. Note that all the instructions explained below will work on all major desktop operating systems including Linux, Windows and macOS. These instructions will work on Android devices as well, except for the instructions in “Calibre” sections.

Transferring Books to Kindle Reader Over a USB Connection

To transfer books to your Kindle device, you just have to connect one end of a micro-usb cable to the Kindle and the other end to your Linux PC. Your system should automatically mount Kindle’s internal storage as an external drive, just like it would do with any other external USB storage drive. This method works with Android devices as well. Once Kindle’s internal storage is mounted, you should see it appearing in the file manager.

To transfer books from your system’s hard drive to Kindle’s internal storage, copy Kindle compatible “mobi”, “azw3” and “pdf” files to the “documents” folder. If you don’t have an ebook file in these compatible formats, you may have to convert it to make it appear on your Kindle device. You can convert “epub” and other ebook file formats using “Calibre” software mentioned in the last section of this article.

Transferring Custom Fonts to Your Kindle Device

Newer versions of Kindle have the ability to display ebooks using custom fonts. You can transfer any “ttf” or “otf” file to use your own font in Kindle. Put your custom fonts in the “fonts” folder, as shown in the screenshot below.

Wherever possible, transfer at least “Regular”, “Italic”, “Bold” and “Bold Italic” variants of your custom fonts for best experience. If you don’t have these variants, you can just transfer the “Regular” or “Bold” variant and Kindle will automatically add faux italic / bold effect to them. The “fonts” folder in your Kindle’s internal storage should have the file name “Readme.txt”. You can have a look if you need further instructions.

Transferring Dictionaries to Your Kindle Device

If you have a Kindle compatible dictionary purchased from other ebook stores or an open source Kindle compatible dictionary, you can transfer it to Kindle and use it to lookup word meanings while reading books. To do so, copy Kindle compatible dictionary files to the “dictionaries” folder inside “documents” folder, as shown in the screenshot below.

To make your newly transferred dictionary default dictionary on Kindle, go to “Settings > Language & Dictionaries > Dictionaries > Language” option on your Kindle device and select the dictionary you transferred over USB.

Upgrade Kindle Firmware and Install VoiceView Files

You can manually upgrade your Kindle device by transferring firmware files to your main Kindle folder accessed over USB connection. To do so, download the “.bin” firmware file compatible with your Kindle device from the link below and copy it to Kindle’s internal storage (as shown in the screenshot below).

Once the firmware file is transferred, reboot your Kindle device to apply the update. You can follow these same steps to update VoiceView files on your Kindle device. VoiceView provides text-to-speech functionality on Kindle. Just transfer a “.bin” VoiceView file to your Kindle and reboot to apply the update. You can download Kindle firmware updates from here. VoiceView files can be downloaded from here.

Converting and Transferring Books Using Calibre

Calibre is a comprehensive ebook management software suite that can view, convert, organize and transfer your ebook library to many supported devices. You can install Calibre in Ubuntu by using the command specified below:

theme=”blackboard” nowrap=”0″]

$ sudo apt install calibre

You can download a build of Calibre from its official website. It should also be available in the package manager of all major Linux distributions. A Flatpak version is also available here.

Launch Calibre and connect your Kindle device using a micro-usb cable. You should see “Send to device” and “Device” icons appear on the toolbar. The status bar at bottom will also tell you if Kindle has been successfully detected by Calibre or not.

Click on the “Add books” button on the toolbar to add a local ebook file stored on your system’s hard drive. Once added, it should appear in Calibre library. Select the book you want to transfer to Kindle and click on the downward arrow just next to the “Send to device” button. Click on the “Send specific format to > Main memory” menu option (as shown in the screenshot below).

You should get a new window popup prompting you to select an appropriate file format. Choose a Kindle compatible file format like “azw3” or “mobi”.

You can convert books and configure conversion settings by clicking on the “Convert books” button on the main toolbar. If you have already converted an ebook to a Kindle compatible file format beforehand, Calibre will instantly transfer the ebook to your Kindle device. Otherwise it will prompt you to do automatic conversion. You can opt for manual or automatic conversion, both methods work fine. Just make sure that you tweak conversion settings before doing automatic conversion in case you want to apply your own custom configuration.

Wait for the transfer process to finish. A green tick symbol under the “On device” column will confirm if your transferred ebook is available on Kindle or not.


These are some of the ways you can transfer ebooks to your Kindle device over a USB connection. Some Kindle devices come with an “experimental browser” that can download files into the “downloads” directory inside “documents” folder. You can use an “ftp” server or built-in Calibre server on any device to download ebooks through the experimental web browser by typing in URL for the file server in the address bar. This method may only work for ebook files and not with custom fonts and other files.

About the author

Nitesh Kumar

I am a freelancer software developer and content writer who loves Linux, open source software and the free software community.