BookShelves vs. Foliate — Native macOS & iOS vs. Linux's Best Reader

Looking for a Foliate alternative on macOS or iOS? BookShelves brings native Apple platform support, iCloud sync, and free book discovery.

What is Foliate?

Foliate is a clean, well-designed ebook reader for Linux. Built with GTK, it’s widely regarded as the best reading experience on the Linux desktop — praised for its minimal interface, solid EPUB rendering, and thoughtful features like dictionary lookups, translation, and popup footnotes.

Foliate reads EPUB, Mobipocket, Kindle, FB2, CBZ, and PDF files. It stores annotations as plain JSON files, making them easy to back up and sync manually. It’s free, open-source software available through Flathub, Snap, and most Linux distribution repositories.

For Linux users, Foliate is an excellent choice. But it doesn’t run on macOS or iOS — and if you’re in the Apple ecosystem, you need something else.

The gap: Foliate is Linux-only

Foliate is built specifically for the GNOME desktop environment using GTK. It doesn’t run natively on macOS or iOS:

  • No macOS app. Foliate targets Linux. While it’s theoretically possible to build GTK apps on macOS, Foliate isn’t packaged for it and wouldn’t integrate with macOS conventions (menus, keyboard shortcuts, dark mode, window management).
  • No iPhone or iPad app. There’s no iOS version and no plan for one — GTK apps don’t run on iOS.
  • No cloud sync. Foliate stores everything locally. If you read on multiple machines, you’d need to manually sync annotation JSON files and books between them.
  • No library management. Foliate is a reader, not a library manager. It opens individual files — there’s no persistent library, no cover grid, no shelves, no metadata lookup.

None of this is a weakness of Foliate — it’s a focused reader that does its job well on Linux. But if you use a Mac or iPhone for reading, these are real gaps.

Feature comparison

FeatureBookShelvesFoliate
PlatformsmacOS, iOS, iPadOSLinux only
EPUBYesYes
PDFYesYes
MOBI / PRC / AZW / AZW3Yes — auto-converted on importYes (Mobipocket/Kindle)
KEPUBYes — auto-converted on importNo
FB2NoYes
CBZ (comics)YesYes
Native platform UIYes — native macOS and iOSYes — native GTK/GNOME on Linux
Library managementShelves, grid/list views, sort by multiple fieldsNo — opens individual files
Metadata lookupAutomatic on import (title, author, cover)No
iCloud syncYes — books, position, bookmarks, highlights (Pro)No — local storage only
Reading customizationThemes, fonts, line spacing, marginsFonts, spacing, margins, color schemes
Highlights & notesYes — multi-color, synced across devicesYes — stored as plain JSON files
Export highlightsYes — Markdown, JSON, CSV (Pro)Yes — plain JSON files (manual access)
Dictionary / translationNoYes — Wiktionary, Wikipedia, Google Translate
Full-text searchYesYes
Free book catalogsBuilt-in (Standard Ebooks, Internet Archive)No
Multi-window (macOS)Yes — open multiple books side-by-sideN/A (Linux only)
Email to deviceKindle, Kobo, PocketBook, reMarkable (Pro)No
OPDSYes — OPDS client + server (v1.2/v2.0), share and browse libraries (Pro)No
Vertical / RTL textYesYes
Popup footnotesNoYes
Media overlaysNoYes
PriceFree (optional one-time Pro upgrade)Free, open source (GPL v3)

What BookShelves does differently

BookShelves library view on macOS showing book covers in a grid with sidebar navigation

Runs on macOS and iOS

BookShelves is a native app for macOS and iOS — built with Swift and SwiftUI, following Apple’s design conventions. It integrates with macOS dark mode, keyboard shortcuts, window management, and system services. On iPhone and iPad, it’s a proper touch-first experience.

Foliate is a Linux app. If you’ve switched from Linux to macOS (or use both), BookShelves fills the same role on the Apple side.

Library management

Foliate opens one book at a time — there’s no persistent library view. BookShelves maintains your entire collection with cover art, metadata, shelves, and sorting. Import books by drag-and-drop and metadata is fetched automatically.

If you’ve been keeping your ebooks organized in folders on Linux, BookShelves gives you a proper library on macOS.

iCloud sync across all Apple devices

Your books, reading position, bookmarks, and highlights sync automatically across Mac, iPhone, and iPad through iCloud. Start reading on your Mac, continue on your iPhone. No manual file copying, no sync scripts.

Foliate stores everything locally on one machine. If you read on multiple Linux machines, you’d need to manually copy annotation files and books between them.

Built-in free book catalog

BookShelves has a built-in catalog with thousands of free public domain classics from Standard Ebooks (professionally typeset editions) and Internet Archive. Browse by subject, search by author, download with one tap.

Foliate doesn’t include book discovery — you find and download books externally, then open them in the app.

More format support

BookShelves handles KEPUB files (Kobo’s modified EPUB format) natively — auto-converted on import. Foliate doesn’t support KEPUB.

Email to device

Send books from BookShelves directly to your Kindle, Kobo, PocketBook, or reMarkable via email. Useful if you read on e-ink devices alongside your Mac or iPhone.

Where Foliate is the better choice

You use Linux

This is the obvious one. If Linux is your primary platform, Foliate is the best reader available — clean, fast, and well-integrated with GNOME. BookShelves doesn’t run on Linux.

You want inline dictionary and translation

Foliate integrates Wiktionary, Wikipedia, and Google Translate directly into the reading experience. Select a word and get definitions or translations without leaving the book. BookShelves doesn’t have built-in dictionary or translation features.

You want popup footnotes

Foliate renders EPUB footnotes as inline popups — tap a footnote reference and see it without jumping to the end of the chapter. BookShelves navigates to the footnote location in the traditional way.

You want media overlays

Foliate supports EPUB media overlays (synchronized text and audio). BookShelves doesn’t support this feature.

You prefer open-source software

Foliate is GPL v3 — fully open source, community-maintained, and auditable. BookShelves is proprietary software. If software freedom is important to your workflow, Foliate aligns with that principle.

You read FB2 files

Foliate supports FB2 (FictionBook), a format popular in Russian-language ebook communities. BookShelves doesn’t support FB2.

For dual-platform users

If you use Linux at work and macOS/iOS for personal reading (or vice versa), Foliate and BookShelves are natural complements — each is the best reader on its respective platform.

Your ebook files (EPUB, PDF, MOBI) work in both apps. The one thing that won’t transfer is annotations — Foliate stores them as JSON files, BookShelves stores them in its own database with iCloud sync. If you highlight extensively, you’ll want to pick one primary platform for annotation-heavy reading.

Try BookShelves Free

Download BookShelves and see the difference for yourself. No account required.

Foliate is free, open-source software by John Factotum, licensed under GPL v3.

BookShelves is not affiliated with, endorsed by, or sponsored by any of the companies or projects mentioned on this page. All trademarks are the property of their respective owners.