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.
OpenReader Desktop is the full reader in one app for macOS, Windows, and Linux, with local voices, audiobook export, and automatic updates. No server, Docker, or account to set up.
| Platform | Installers |
|---|---|
| macOS 12+ | .dmg for Apple silicon (signed and notarized) |
| Windows 10+ | .exe for x64 and Arm |
| Linux | AppImage and .deb for x86-64 and ARM64 |
Download for your computer · Desktop docs · All releases
Want to self-host for several people instead? Get started in the docs. On iPhone, iPad, or Mac, try the separate native app on TestFlight.
▶️ Progressive background generation and playback — begin listening as soon as the first segment is ready while the worker continues generating ahead into one durable document timeline; cached audio is reused across seeks, reloads, and exports.- 🧱 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 from local Kokoro's own phoneme durations, or ONNX Whisper alignment for other providers, through the compute worker control plane (NATS JetStream-backed).
- 📚 Five readable formats — synchronized EPUB, PDF, TXT, MD, and worker-converted DOCX, with generated PDF/EPUB library previews.
- 🎯 Multi-provider TTS — Kokoro running locally with no API key, self-hosted OpenAI-compatible servers (Kokoro-FastAPI, KittenTTS-FastAPI, Orpheus-FastAPI, Supertonic), or cloud APIs (OpenAI, Replicate, and 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 or MP3, assembled by the worker from the same playback cache.
- 🗂️ Flexible backend — embedded SeaweedFS or S3-compatible storage, SQLite or Postgres, server library import, and device sync.
- 💻 Desktop app for macOS, Windows, and Linux, with local voices and automatic updates.
- 🐳 Self-host friendly — Docker (amd64/arm64), built-in auth/session support, and automatic startup migrations.
| Goal | Link |
|---|---|
| Install the desktop app | Download · Desktop App docs |
| Run with Docker Compose | Docker Compose |
| 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 |
| Upgrade a v4 instance | Upgrade from v4 |
| Get support or contribute | Support and Contributing |
- Questions and ideas: GitHub Discussions
- Bug reports: GitHub Issues
- Contributions: open a pull request
MIT. See LICENSE.