A simple EPUB reader for Android with text-to-speech, library management, and customizable themes.
- EPUB parsing with OPF spine-order chapter detection
- Page-fitting text blocks — text fills the screen, no scrolling needed
- Text-to-speech — local TTS engine with auto-fallback to online Google Translate TTS
- Swipe navigation — swipe left/right to turn pages
- Library — tracks up to 50 books with auto-saved reading positions
- Bookmarks — save and jump to bookmarks
- Themes — Day, Night, and OLED black
- Adjustable text size (10sp–28sp) and TTS speed (0.5×–2×)
- Voice selection for local TTS engine
- Collapsible menu with Bookmark, Bookmarks, Theme, and Settings
- Hide bottom bars setting for distraction-free reading
- Progress indicator — chapter, block, and overall percentage
Download EpubReader.apk from Releases or build from source.
Enable "Install from unknown sources" in your device settings if needed.
Requires Android SDK (API 34) and JDK 17.
./gradlew :app:assembleDebugThe APK will be at app/build/outputs/apk/debug/app-debug.apk.
- Tap Open EPUB to select a
.epubfile - Swipe left/right or use Prev/Next buttons to navigate pages
- Tap Play to start text-to-speech
- Tap the ☰ menu button to access bookmarks, theme, and settings
- In Settings, toggle "Hide bottom bars" for distraction-free reading
- Internet — for online TTS (Google Translate voice)
- Storage — to read EPUB files via Android document picker
MIT
For an overview of all my other projects, see https://adegard.github.io/blog/

