FBReader for Linux
FBReader is free of charge, but starting with the 2.0 release, it is not open-source.
The modern versions of FBReader have significant advantages over their open-source predecessor. In addition to better text formatting, they include cloud sync, a customisable list of network catalogues, and a modern design.
Since the release 2.1, in addition to DRM-free books FBReader can open ePubs protected with Readium LCP.
Linux packages zoo
There are various package types for Linux, and we have changed our minds several times over the years.
In the early days, FBReader was open-source, and older versions remain available in most popular Linux distributions.
With the release of FBReader 2.0 in late 2021, we introduced distribution via the Snap Store. Unfortunately, Snap packages have limited adoption outside the Ubuntu community.
Starting with version 2.1, released in 2024, we began providing an AppImage package, which is now our recommended option for Linux users. AppImage offers a versatile, distribution-agnostic format that works seamlessly across all major Linux distributions.
We've gathered all packages and download links on a dedicated page.
The features
The table shows the status of the most significant features in the latest version.
Supported formats | ePub, fb2, fb2.zip, mobi, rtf, MS doc, plain text, cbz |
Not supported formats | cbr, cb7, pdf, djvu, docx |
DRM protection | FBReader is certified to open Readium LCP-protected ePubs |
Book reading, styles, hyperlinks, hyphenations | Fully implemented |
Page header and footer | Fully implemented, is customisable |
Page turning/text scrolling | Spacebar and right arrow keys turn the page forward; the left arrow key turns back. Mouse-click on the right/left margins turns ahead/back. The mouse wheel, as well as up and down arrows, scroll line-by-line |
Multi-book (multi-window) mode | Fully implemented |
Two-column mode | Fully implemented. The text switches to two-column mode automatically. You can tune the logic in the “Columns & Margins” preferences section |
Text selection | Implemented, excluding automatic text scrolling when user selects end of the page |
Table of contents | Fully implemented |
Bookmarks | Implemented: adding, removing, style selection, navigation over the bookmarks list, adding/editing/removing styles, and text editing |
Language selection | Automatic language/encoding detection only; there is no way to fix a detection error manually |
Advanced text navigation | Click on the page footer navigates over the text; undo/redo buttons allow to jump back. The position stack persists between runs |
Dark theme | Fully implemented; on Linux, you have to switch it manually in the window menu (three dots in the upper top corner) |
All titles list | Fully implemented |
Lists of recently added/opened books | Fully implemented |
Books by author | Fully implemented |
Books by series | Fully implemented |
Books by tags | Not implemented yet |
Custom shelves | Not implemented yet |
Book download | Fully implemented |
Book meta info dialogue | Fully implemented |
Book deletion | Fully implemented |
Multiple book selection, group operations | Not implemented yet |
Browsing | Implemented, some OPDS features are still under development |
Book downloading | Fully implemented |
Navigation history | Implemented, not persists between runs |
Bookmarks | Fully implemented |
Search | Implemented, needs some improvements in multi-catalogue search |
Built-in catalogues | Project Gutenberg and Smashwords Online Catalogue |
Adding of custom OPDS catalogues | Fully implemented |
Network authorisation | Implemented for some catalogues |
Titles list from server | Fully implemented |
Uploading new books to the server | Fully implemented |
Deleting books | Fully implemented |
A way to force upload a recently deleted book | Not implemented yet |
Positions | Fully implemented |
Bookmarks | Fully implemented |
Custom shelves | Not implemented yet |
Network catalogues list, library bookmarks | Not implemented yet |
Preferences dialogue | Implemented; some minor pages and options are still missing |
Settings export/import | Fully implemented |