ππ OpenReader
OpenReader is an open-source, self-host-friendly text-to-speech document reader built with Next.js for EPUB, PDF, TXT, MD, and DOCX with multilingual, synchronized read-along playback.
Previously named OpenReader-WebUI.
Get started in the docs.
β¨ Highlights
- π§± Layout-aware PDF parsing with PP-DocLayoutV3 (ONNX) β structured block detection, cross-page stitching, and geometry-based highlighting for precise read-along sync.
- β±οΈ Word-by-word highlighting via ONNX Whisper alignment through the compute worker control plane (NATS JetStream-backed).
- β‘ Segment-based read-along for EPUB, PDF, TXT, MD, and DOCX β sentence-aware TTS with cached audio segments, background preloading, and resumable playback.
- π― Multi-provider TTS β self-hosted OpenAI-compatible servers (Kokoro-FastAPI, KittenTTS-FastAPI, Orpheus-FastAPI) or cloud APIs (OpenAI, Replicate, DeepInfra).
- π Multilingual support β choose a document language for language-aware narration and highlighting. Available languages depend on the configured TTS provider and voice.
- π§ Audiobook export in
m4b/mp3with resumable chapter processing. - ποΈ Flexible backend β embedded SeaweedFS or S3-compatible storage, SQLite or Postgres, server library import, and device sync.
- π³ Self-host friendly β Docker (amd64/arm64), built-in auth/session support, and automatic startup migrations.
π Start Here
| Goal | Link |
|---|---|
| Run with Docker | Docker Quick Start |
| Deploy on Vercel | Vercel Deployment |
| Deploy external compute worker | Compute Worker (NATS JetStream) |
| Develop locally | Local Development |
| Configure auth | Auth |
| Configure SQL database | Database and Migrations |
| Configure object storage | Object / Blob Storage |
| Configure TTS providers | TTS Providers |
| Run Kokoro locally | Kokoro-FastAPI |
| Run KittenTTS locally | KittenTTS-FastAPI |
| Get support or contribute | Support and Contributing |
π§ Community
- Questions and ideas: GitHub Discussions
- Bug reports: GitHub Issues
- Contributions: open a pull request
π License
MIT. See LICENSE.