1. Overview
EPUB is an XHTML-derived open e-book format that supports reflowable content, which dynamically adapts text to different screen sizes. It also supports fixed-layout content, which preserves the exact layout of a page, including images and text placement, just like a printed book.
In this tutorial, we’ll look at several Linux EPUB viewers, from the feature-rich Calibre to the minimalist FBReader. As for licensing, all the viewers we’ll look at are free, but not all of them are libre software.
We’ll focus only on DRM-free EPUB files, using Around the World in 28 Languages.epub as an example. We’ll use KUbuntu 22.04 LTS as our test distribution.
2. Calibre
Calibre is a powerful e-book viewer for Linux, macOS, and Windows with a rich set of features tailored for e-book management. It offers broad compatibility with multiple e-book formats, including EPUB.
Let’s install the latest version using the official binary, as the version in the apt package manager is quite old:
$ sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
Calibre includes a built-in e-book viewer that supports multiple viewing modes and features such as bookmarking, annotation, and text search:
Calibre also supports the seamless conversion of e-books between multiple formats, including PDF, EPUB, MOBI, and HTML. This helps us transform our digital libraries to meet our specific needs, such as for leisure reading on a tablet or for reference on a desktop.
3. Okular (KDE Document Viewer)
Okular, best known as the KDE document viewer, supports a wide range of document formats, including EPUB. It also offers features like text highlighting, annotations, and bookmarks. However, if we’re using a desktop environment other than KDE, we can still install it:
$ sudo apt install okular
Unfortunately, our experience with Okular may not be optimal, as it may display our sample EPUB as having a fixed layout instead of fitting the page and text to the available space. This can cause a serious reading problem:
Okular also has interesting conversion options, e.g., from EPUB to PDF, HTML, ODT, or plain text.
4. Xreader (Linux Mint Document Viewer)
Xreader, the default document viewer in Linux Mint, supports multiple document formats, including EPUB files. Derived from Evince, GNOME’s default document viewer, Xreader extends the capabilities of its predecessor by adding support for EPUB files, a feature currently missing from Evince. It’s not easy to install in other distributions, so Xreader is only a convenient choice if we’re using Linux Mint.
Xreader’s interface is designed for ease of use, presenting a clean, intuitive, and minimalist layout:
It doesn’t allow us to print the EPUB or convert it to other formats. It lacks advanced features like Calibre or Okular.
5. EPUBReader for Firefox
EPUBReader allows us to read e-books directly in Firefox by simply clicking on a link pointing to an EPUB.
Despite its convenience, however, EPUBReader’s installation process raises privacy concerns by asking for permissions that may be a red flag for users concerned about their online privacy and security:
EPUBReader has several customization options that we can access by left-clicking on the e-book:
It also allows us to browse EPUBs stored on our computer by opening the plugin directly from the extension icon in the Firefox toolbar.
6. Foliate
Foliate‘s user-friendly interface provides a comfortable reading experience with many customization options. Let’s give it a try:
$ sudo snap install foliate
It offers customizable text formatting options, annotations, and bookmarks. It also automatically arranges text in columns on wide screens.
Foliate’s integration with online dictionaries and Wikipedia can increase its usefulness, but in our test, these features still didn’t work properly:
Seamless navigation through chapters and pages and an easy-to-use progress tracker make for a smooth reading experience.
7. FBReader
FBReader allows us to customize the visual aspects of reading and offers options for bookmarking. Let’s install it:
$ sudo snap install fbreader
It has a library to organize our e-book collection. In addition, FBReader can access online libraries to seamlessly explore and add new titles. The software’s ability to synchronize e-books, bookmarks, and reading positions across devices via Google Drive is another major benefit, providing a consistent reading experience whether on a desktop or mobile device:
FBReader is available for iOS, Android, Windows, Mac OS, Linux and Chrome OS.
8. Conclusion
In this article, we’ve seen different EPUB viewers for Linux:
- Calibre → A cross-platform comprehensive e-book management tool
- Okular → Supports various document types, integrated into KDE
- Xreader → Supports multiple document types, built into Linux Mint
- EPUBReader for Firefox → A browser-based solution
- Foliate → A dedicated EPUB reader
- FBReader → Another cross-platform solution for EPUB files
Notably, we’re seeing a trend in major Linux distributions, such as Linux Mint 21 and KUbuntu 22.04, to include out-of-the-box EPUB support. This development demonstrates the growing popularity of the EPUB format and points to a future where EPUB compatibility is likely to become a standard feature in Linux distributions.