Skip to main content
Version: v4.0.0

Introduction

OpenReader is an open source text-to-speech document reader built with Next.js. It provides a read-along experience with narration for EPUB, PDF, TXT, MD, and DOCX documents.

Previously named OpenReader-WebUI.

It supports multiple TTS providers including OpenAI, Replicate, DeepInfra, and custom OpenAI-compatible endpoints such as Kokoro-FastAPI, KittenTTS-FastAPI, and Orpheus-FastAPI.

✨ Highlights

  • 🧱 Layout-aware PDF Parsing
    • PP-DocLayoutV3 (ONNX) detects structured blocks with cross-page stitching and geometry-based highlighting for precise read-along sync and clean TTS segmentation
  • ⏱️ Word-by-word Highlighting via ONNX Whisper alignment
    • Powered by the external compute worker control plane (NATS JetStream-backed)
  • Segment-based TTS Playback
    • Sentence-aware generation with cached audio segments, background preloading, and resumable playback across EPUB, PDF, TXT, MD, and DOCX
  • 🎯 Multi-Provider TTS Support
  • 🎧 Audiobook Export in m4b/mp3 with resumable chapter generation
  • 🗂️ Flexible Backend — embedded SeaweedFS or S3-compatible storage, SQLite or Postgres, server library import, and device sync
  • 🔐 Auth and User Isolation — auth is required in v4+, with optional anonymous auth sessions for guest flows
  • 🎨 Customizable — 13 built-in themes (light and dark palettes), per-user TTS settings, and document handling controls

🧭 Key Docs

Source Repository