| .github | ||
| app | ||
| docs | ||
| fastlane | ||
| gradle | ||
| hack | ||
| tests | ||
| tmp | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| AGENTS.md | ||
| build.gradle.kts | ||
| CLAUDE.md | ||
| DEVELOPER.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| settings.gradle.kts | ||
Liseur
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.
![]() |
![]() |
![]() |
| The shelf, sorted by what you are currently reading. | Distraction-free page with notes and bookmarks. | Themes, open typefaces, spacing, and brightness. |
More screenshots here
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
Related Projects
- liseur-desktop: Desktop version of Liseur (may be lagging compared to the android app).
- liseur-sync: Lightweight self-hosted library and sync server. Watched folders, browse, download, positions and reading stats. This will give you the best "kindle/just work" experience compared to the other sync servers.
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.
Another inspiration was a painting by Pierre-Auguste Renoir portraying Claude Monet as "Le Liseur":
Author
Chmouel Boudjnah
- Fediverse - <@chmouel@chmouel.com>
- Twitter - <@chmouel>
- Blog - <https://blog.chmouel.com>
Licence
MIT. Bundled fonts are under the SIL Open Font License.


