Find a file
2026-08-30 15:09:20 +02:00
.github feat: deploy test releases to Google Play testing tracks 2026-08-30 11:56:54 +02:00
app chore: test release v0.13.0-test.2 2026-08-30 15:09:20 +02:00
docs feat(reader): choose which side of the page turns forward (#114) 2026-08-30 15:07:35 +02:00
fastlane chore: release v0.12.0 2026-08-28 15:48:33 +02:00
gradle feat(sync): keep your place through a KOReader sync server (#101) 2026-08-29 00:30:31 +02:00
hack feat: deploy test releases to Google Play testing tracks 2026-08-30 11:56:54 +02:00
tests feat: connect to Grimmory servers through their Komga shim (#94) 2026-08-28 09:02:47 +02:00
tmp feat: Combine filter chips and sort controls into a single row 2026-07-31 15:07:03 +02:00
.gitignore feat(release): publish to the Google Play internal track (#36) 2026-08-19 16:37:07 +02:00
.pre-commit-config.yaml chore: Configure pre-commit to run hooks automatically on push 2026-08-18 10:55:52 +02:00
AGENTS.md fix: show reading layout controls directly in settings (#112) 2026-08-30 12:35:18 +02:00
build.gradle.kts feat: add EPUB reading with Readium navigator 2026-07-28 21:38:21 +02:00
CLAUDE.md feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
DEVELOPER.md feat: deploy test releases to Google Play testing tracks 2026-08-30 11:56:54 +02:00
gradle.properties perf: Accelerate unit test execution across multiple cores 2026-08-17 21:29:25 +02:00
gradlew feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
gradlew.bat feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
LICENSE feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
Makefile feat: Add validation checks for F-Droid release tag filters 2026-08-25 07:08:47 +02:00
README.md feat(server): connect to any OPDS catalog and any KOReader sync server (#103) 2026-08-29 01:43:33 +02:00
settings.gradle.kts feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00

Liseur

A woman reading on a couch under a lamp

An open-source ebook reader for Android, and a client for calibre-web, Komga, liseur-sync, Grimmory and any OPDS catalog: EPUBs on your phone, in sync with your own book server.

Library Reading Typography
The shelf, sorted by what you are currently reading. Distraction-free page with notes and bookmarks. Themes, open typefaces, spacing, and brightness.

More screenshots — the notebook, search, definitions, series, reading stats, the dark theme and a tablet. Captures use Standard Ebooks editions (public domain).

About Liseur

Liseur renders EPUBs with the Readium engine, in open typefaces (Literata, Vollkorn, Atkinson Hyperlegible, Inter) or whatever the publisher shipped. Four reading themes: Light, Sepia, Dark, OLED Black. Margins, line spacing, brightness, and page-turn vs. continuous-scroll are adjustable per book or library-wide. Auto-scroll runs at a set pace and continues across chapter boundaries.

A footer shows time remaining in the chapter. Highlights, margin notes, bookmarks, and dictionary lookups are inline; book-level notes live in the notebook. Footnotes open as a card over the page rather than sending you to the back of the book.

The library is one shelf whatever the source: local folders, calibre-web, Komga, liseur-sync, Grimmory, or any OPDS catalog. Series are grouped into stacks tracking reading order, progress, and missing volumes. "Download all books" fills the shelf from a connected server in one go.

Reading position syncs across devices through calibre-web, Komga and liseur-sync, down to the exact sentence on the last two. liseur-sync also syncs standalone EPUBs that never came from a catalog. Grimmory keeps your books but not your place in them, so it can be paired with a KOReader sync (kosync) server, which is how positions travel there; any kosync-compatible server works. So can a Custom connection, which is an OPDS address, a kosync address, or one of the two, so a plain catalog and a sync server that know nothing about each other still add up to a library that follows you. What each server can and cannot do is in docs/SERVER_CAPABILITIES.md.

No trackers, no analytics, no ads, no subscriptions. Liseur only talks to the servers and dictionary sources you configure. See the privacy policy.

Install

  • liseur-desktop: Desktop version of Liseur
  • liseur-sync: Lightweight self-hosted library and sync server. Watched folders, browse, download, positions and reading stats
  • Grimmory: Self-hosted library manager. Liseur browses and downloads from it

Development

See DEVELOPER.md for build instructions and architecture notes, and docs/SERVER_CAPABILITIES.md for what each server exposes, what Liseur implements against it, and why the gaps remain.

What's in a name?

Liseur ([li.zœʁ], lee-ZUR) is the French word for an avid reader or book lover. It sounds dignified, like the English word leisure.

Here is a painting of Pierre-August Renoir portraying C.Monet as "Le liseur"

image

Author

Sponsor

Chmouel Boudjnah

Licence

MIT. Bundled fonts are under the SIL Open Font License.