Introduction
Foliate is a lightweight, modern e-book reader for Linux desktop environments. Built with GTK 4 and GJS, it provides an immersive reading experience with full support for EPUB, Kindle (MOBI/AZW3), FictionBook (FB2), and comic book archives (CBZ/CBR), all without heavy dependencies.
What Foliate Does
- Renders EPUB, MOBI, AZW3, FB2, CBZ, and CBR formats natively without external converters
- Provides customizable reading themes with adjustable fonts, margins, spacing, and background colors
- Supports annotations, bookmarks, and highlights that persist across sessions
- Includes a built-in dictionary lookup and Wikipedia integration for word definitions
- Offers text-to-speech reading using system speech synthesis
Architecture Overview
Foliate is built on GTK 4 with GJS (GNOME JavaScript bindings). It uses a WebView-based renderer for EPUB content, parsing the EPUB container and rendering chapters as styled HTML. Kindle and FB2 formats are parsed through built-in JavaScript parsers. Annotations and reading progress are stored locally in a JSON-based database within the user's config directory.
Self-Hosting & Configuration
- Install via Flatpak (recommended), Snap, or native packages for major Linux distributions
- Configuration is stored in
~/.config/com.github.johnfactotum.Foliate/ - Custom CSS can be injected for personalized rendering styles
- OPDS catalog support allows browsing and downloading from online book repositories
- Supports command-line arguments for opening specific files directly
Key Features
- Paginated and scrolled reading modes with smooth navigation
- Distraction-free reading with auto-hiding toolbars and full-screen mode
- Progress tracking shows estimated time remaining based on reading speed
- Side-by-side view for dual-page reading on wide screens
- Touchscreen and touchpad gesture support for page navigation
Comparison with Similar Tools
- Calibre — Full-featured library manager with conversion tools; Foliate focuses purely on the reading experience
- KOReader — Optimized for e-ink devices; Foliate targets Linux desktop with GTK integration
- Bookworm — Elementary OS e-book reader; Foliate supports more formats and has more active development
- GNOME Books — Minimal reader; Foliate provides richer annotation and customization features
FAQ
Q: Does Foliate work on Windows or macOS? A: No, Foliate is designed for Linux with GTK 4. Windows and macOS users can use alternatives like Calibre or Thorium Reader.
Q: Can I sync reading progress across devices? A: Foliate stores progress locally. You can manually sync the config directory using tools like Syncthing.
Q: Does it support DRM-protected books? A: No, Foliate only reads DRM-free e-books. Remove DRM separately if legally permitted in your jurisdiction.
Q: What about PDF support? A: Foliate focuses on reflowable formats. For PDFs, use GNOME Document Viewer (Evince) or Okular.