Leaflet v1.0.0

An ebook reader that opens the books you already have.

Leaflet is a small, offline reader for Android and iOS. You point it at your files (EPUB, MOBI, AZW3, plain text) and it gives you actual pages, typeset properly, with your place kept. There's no account to make and nothing to buy inside it.

It's an early build. The core works well and I read with it daily, but expect rough edges. There's a list further down.

Download Now Android 8.0+ · iOS · free
Chapter I · Great Expectations

Ours was the marsh country, down by the river, within, as the river wound, twenty miles of the sea. My first most vivid and broad impression of the identity of things seems to me to have been gained on a memorable raw afternoon towards evening.

At such a time I found out for certain that this bleak place overgrown with nettles was the churchyard; and that the dark flat wilderness beyond, intersected with dykes and mounds and gates, was the marshes.

What it does

The reading screen keeps a hairline progress bar, the chapter in small caps, and a page count at the bottom. Everything else gets out of the way until you tap.

Keeps the book's formatting

Chapters are parsed as real HTML, so italics, bold text and headings come through intact. A lot of readers strip a book down to plain text; Leaflet doesn't.

Opens big books fast

Pagination is done in a single layout pass per chapter instead of trial-and-error page splitting. A long novel becomes real, numbered pages in about a second.

Remembers where you are

Every book keeps its own position, type size, and spacing. Close the app mid-sentence and it reopens there.

Stays offline

Books never leave your device. There's no server and no sync service required, and the app works fine in airplane mode, which is where most reading happens anyway.

Optional Google Drive backup

Connect a Drive folder if you want your titles, favorites and progress backed up as a small file, not the books themselves. It's beta and off by default. Nothing about the reading experience depends on it.

Formats

FormatStatusNotes
.epub Works today The main format. Chapters, styling and structure are all supported.
.txt Works today Plain text files get the same treatment as everything else: real pages, your type settings, position kept.
.mobi / .azw3 Works today Parsed from scratch, no native library involved. MOBI is solid; AZW3's newer layout works for the common case, so treat unusual files as "should work, might not."
.pdf Coming next PDFs are catalogued and sit on your shelf, but the reader itself isn't wired up yet, so it opens to a "coming soon" screen. Until then, Calibre converts them to EPUB in one click.

Roadmap

In order, not on a schedule. Each step starts when the one before it is solid.

Tap a milestone for the details.

PDFs already show up on your shelf and import fine. The reader itself just doesn't open them yet. That's next.

What "done" looks like Drop a PDF into your library and read it like any other book, with your place kept the same way EPUB, MOBI and AZW3 already work.

Leaflet is built with Flutter, so most of the code already runs on iOS. The reader carries over as-is. The remaining work is iOS file handling (how you get books into the app), which works differently than it does on Android.

What "done" looks like Out of TestFlight and onto the App Store, listed alongside the Android build on the downloads page.

The eventual goal: your library readable on whatever screen is nearest. Same app, bigger pages.

What "done" looks like Flutter already targets desktop and web, so this is less about porting and more about designing for the space: wider margins, maybe two-page spreads. Keeping your place across devices raises the sync question, and the honest answer is that it's not decided yet. Leaflet stays offline-first either way.

Changelog

1.0.0 current

  • Rewrote chapter extraction. Book HTML is now parsed as a proper document instead of being regex-stripped, which was silently dropping formatting and occasionally leaking stylesheet junk into the text.
  • New paginator. One layout pass per chapter using line metrics; large books open noticeably faster.
  • Redesigned reading screen: progress bar, small-caps chapter label, page count footer.
Known issue The loading animation freezes while a big book is paginating. The book still loads fine, the spinner just stops spinning. Fix in progress.

Questions

Where do my books go when I add them?
Nowhere. They're read from your device's storage. Leaflet has no server to send them to.
Is there an iOS version?
It's in testing now. See the roadmap for what's left before it's on the App Store. Leaflet is built with Flutter, so the reader itself already carries over, and the remaining work is iOS-specific file handling.
Will it be on the Play Store?
Eventually. Right now it's distributed as a plain APK while things are still changing quickly.
Why "Leaflet"?
Small leaves, small pages. Also the icon was already drawn.
Leaflet app icon

Bring a book.

Leaflet is free and in active development. Install it, add an EPUB, and it'll be waiting on the page where you left it.

Leaflet v1.0.0 · a Letworks app · siblings: Wavelet · Hamlet · Trust & Security · source