A modern, offline‑first, privacy‑focused document & e‑book reader for Android, built with Kotlin and Jetpack Compose.
Episteme Reader is an offline-first reader for documents and e‑books on Android. It focuses on a clean and customizable reading experience.
Note: This is the Open Source (OSS) edition of Episteme Reader. The Google Play version is built from this core and may include additional proprietary features.
- Documents: PDF, DOCX
- E‑books: EPUB, MOBI, AZW3, FB2
- Comics: CBZ, CBR, CB7
- Text: MD, TXT, HTML
- Themes (PDF & EPUB): Light, Dark, Sepia, OLED, Auto (system) and custom
- PDF Modes: Vertical scroll and paginated view
- EPUB Modes: WebView-based vertical scrolling and custom paginated engine
- Custom Fonts: Import user-provided fonts (
.ttf,.otf) - Typography: Adjustable font size, line spacing, and margins
- Ink Annotations: Pen, Highlighter, Eraser
- Text Annotations: Place notes anywhere, with system or custom fonts
- Library: Built-in organization and quick access to your files
- OPDS Support: Browse, search, and add books from OPDS 1.x/2.0 catalogs, with optional authentication
- Text-to-Speech (TTS): Read documents aloud using the system TTS engine
- Offline‑first: Core features work fully offline; no analytics or tracking
- UI: 100% Jetpack Compose (Material 3)
- Pattern: MVVM with Unidirectional Data Flow
- Database: Room (SQLite) for metadata and annotations
- PDF Engine:
pdfium-android(Native PDFium bindings) - EPUB Engine: WebView for vertical mode; custom renderer for paginated mode
- MOBI/AZW3: Custom JNI bindings to
libmobi - OPDS: Lightweight feed parsing and downloading (on-device)
-
Clone the repository:
git clone https://github.com/Aryan-Raj3112/episteme.git cd episteme -
Build:
- Open in Android Studio and run the
ossDebugvariant, or - Build from the command line:
./gradlew assembleOssDebug
The APK will be generated at:
app/build/outputs/apk/oss/debug/Episteme-oss-v{version}-oss-debug.apk - Open in Android Studio and run the
Powered by the Android OSS ecosystem:
- Core & UI: AndroidX, Jetpack Compose, Kotlinx Serialization
- Document Engines: PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3), Google WOFF2 (fonts)
- Parsers: Jsoup (HTML/EPUB), Flexmark (Markdown)
- Media & Image Loading: Coil, Media3 (ExoPlayer)
- Utilities: Room (Database), Timber (Logging)
- CCerrer — Testing & QA
Help translate Episteme Reader into your native language! Weblate is used to manage localization.
Licensed under the GNU Affero General Public License v3.0 (AGPL‑3.0). See the LICENSE file.
Help make Episteme Reader even better.
- ❤️ Sponsor on GitHub
- ⭐ Star the repository to help visibility
- 🐞 Report bugs or request features via GitHub Issues
- 💬 Share feedback in Discussions (ideas/UX): Discussions
- ✍️ Leave a review on the Google Play Store
- 📣 Tell a friend!

