Updated 03-Aug-2025
See also
- Ebooks and where to buy them which discusses DRM from each ebook seller.
- Kindle and other Ebook Readers
- Calibre Ebook Library, De-DRM, Conversion
- Jailbreak Kindle
- KO Reader open source ebook reader
It appears that KOReader is the leading open source ebook reader, and besides being able to run on Kindle, Kobo, PocketBook, it also supports other platforms such as Android and Linux. Mainly built with Lua.
KOReader Functionality
KOReader functionality is truly impressive, but a bit of a menu hell for the many settings. Definitely worth the learning curve, however. Some of the functionality is due to the way it can interoperate with Calibre, which also has a bit of a learning curve. Here are some highlights:
- Connect wirelessly (via TCP/UDP/IP) to Calibre and manage books (adding / removing from the ebook reading device).
- Customize the look and feel of the files / books page (to display thumbnails, or text, etc.).
- Integrated with dictionaries (which can be downloaded from the device), Wikipedia, and translators.
- An enormous amount of control over the look and feel of the ebook text, images, and the status display bars (both top and bottom can be configured).
- Extensive book search and full-text search.
- Huge number of gestures supported, including taking screenshots.
- Super easy to rotate and toggle columns.
- Super easy to scale and stretch ebooks, especially good for getting PDFs to display well.
- Progress sync (using a third-party server).
- Cloud storage (using a third-party server).
- As fast as Kindle reader (sometimes faster depending on tweaks and document structure).
- Better and more flexible screen saver options.
- More native format support: .epub, .cbz (manga), .pdf, etc.
- Huge and helpful user guide
KOReader Issues
- Mesqito doesn't work on >5.18.1 firmware, so be very careful about not letting Amazon get a firmware update during this procedure (this happened to me on a
pw5
and now we have to wait for a new Winterbreak update) -- issue discussed here, including possible work-arounds. - Sometimes settings are not kept even though setting current settings as the default. The key is to
long-press
on a setting, then enable it to be default for all books. Just saving it as the default (which is another setting) doesn't actually work. There is a profiles feature which allows for saving different settings as a set to apply to certain kinds of books (e.g., Manga vs. Light Novels). Haven't tried that yet, butlong-press
is now my good friend. .mobi
cover images are not supported in KOReader (and no one working on this, as MOBI is seen as an inferior format).- The solution is to batch convert in Calibre to
.epub
format.
- The solution is to batch convert in Calibre to
- Connecting over the network wirelessly is not the same thing as the content server on Calibre. These are two different and distinct functionalities (content server is an http server for any browser to use). Ignore content server and simply click the Connect / Share button and set the Wireless settings.
- Note, if you have a firewall, make sure the port you choose has TCP enabled. If auto-discovering the Calibre server, likely some UDP port is needed as well.
- Enable the Very Long Press interval in order to use short press to auto-highlight, and very-long-press to do a menu popup (including dictionary, translate, Wikipedia, etc.).
- On
pw4
the shortest very-long-press is 2.5s, while onpw6
it is possible to go sub-1 second. This is due to the screen digitizer being used.
- On
- Generating Kindle (or other format) highlights is quite simple, and works well, though sometimes there might be metadata that needs to be search-and-replaced if say the Kindle Sync plugin for Obsidian runs into something it can't handle.
- KOReader cannot connect over a wired USB connection to Calibre, so it needs to connect wirelessly, otherwise exit KOReader and connect with a USB cable inside KindleOS.
- If a particular ebook cover isn't right for whatever reason, Caliber allows for importing both metadata and / or covers from a variety of sources. Simply re-export the ebook wirelessly, then click and hold on the ebook, and refresh the metadata in KOReader, and it will effectively reload from the updated file.
- KOReader can do progress synchronization using an online KOReader Sync tool. However, setting it to update all the time creates havoc with the network connection to Calibre, so they cannot be enabled at the same time. I just do a manual synchronization
push
and thenpull
when I want updates. - Scriplets are scripts with
.sh
that show up as books when placed in/documents
and can be executed from the KindleOS.- About scriplets
- Marek's useful scriplets
- Kindle Modding Discord where you can talk about scriplets
- Set up History as default view.
Current Status
Everything else is working (mostly) swimmingly. KOReader is quite fiddly, meaning it has a lot of options and settings -- I mean a lot. But that ends up making a much more customized and optimized solution for both managing and reading ebooks, and the ebook reader itself.
Caption: Kindle Paperwhite 2018 6" vs. Kindle Paperwhite 2024 7" with KOReader.
KOReader Plugins
Besides the plugins used above for installation, I did not see many compelling plugins around. Not including the 30 or so that comes with and are enabled by default in KOReader. This may be because KOReader development is active so any really great plugin should have its functionality integrated into KOReader itself. Here are a few to check out, nonetheless:
- kompanion -- A self hosted backend for bookworms, tightly coupled with KOReader.
- KOReader sync server -- A self hostable synchronization service for koreader devices.
- koreader-calibre-plugin -- A calibre plugin to synchronize metadata from KOReader to calibre.
- extract manga metadata -- Plugin for KOReader to extract metadata from .cbz files as Custom Metadata.
KOReader Resources
- KOReader subreddit (inspiration and community)
- User guide
- Releases (Github)