Transform any document into natural, human-like speech. Runs 100% locally in your browser. No uploads. No sign-ups. No data collection. Just code.
Most "free" PDF readers are data traps. They require account creation, upload your private documents to cloud servers, or lock essential accessibility features behind paywalls.
PDF TTS Reader is different. It is an offline-first, privacy-guaranteed application built for students, researchers, and developers who need to digest complex documents efficiently without compromising their data.
| Feature | PDF TTS Reader | Standard PDF Readers |
|---|---|---|
| Privacy | 🔒 100% Local Processing | ☁️ Cloud Uploads (Risk) |
| Cost | 💸 Free Forever (Open Source) | 💰 Subscriptions / Paid |
| Accessibility | 🧠 Dyslexia-Friendly / Focus Mode | ❌ Basic Zoom Only |
| Voices | 🗣️ 50+ System Voices (Uncapped) | |
| Tracking | 🛡️ Zero Analytics / Cookies | 📈 User Tracking |
- Smart Text-to-Speech (TTS): Utilizes the Web Speech API to access all native OS voices (Google, Microsoft, Apple) without API keys.
- Real-Time Synchronization: Highlights words exactly as they are spoken, aiding comprehension and retention.
- Variable Speed Playback: Adjustable granular speed control from 0.5x (Study Mode) to 3.0x (Skim Mode).
- Sentence Mode: Toggle between word-level highlighting for precision or sentence-level for flow.
- Spotlight Cursor: A premium, "Onlook-style" glow effect that tracks your mouse, reducing eye strain and improving reading focus.
- Focus Mode: Instantly blurs the surrounding UI, dimming distractions so you can focus solely on the text.
- Smart Theming: seamless toggle between Light, Dark (OLED optimized), and Sepia (Paper-like) modes to suit any lighting condition.
- Custom Virtualization: Why load 500 pages when you only read one? A custom virtualization engine renders only visible pages, ensuring 60FPS scrolling even on large textbooks.
- Responsive Design: A unified UI that adapts from desktop monitors to mobile screens, featuring a touch-friendly drawer and controls.
- Anchor Scrolling: Intelligent scroll position maintenance during zoom operations—no more losing your place when resizing.
Built with the bleeding edge of modern web development:
- Runtime: React 19 (Leveraging new hooks and concurrent features)
- Build Tool: Vite 6 (Instant HMR and optimized production builds)
- Language: TypeScript 5 (Strict type safety for reliability)
- Styling: Tailwind CSS v4 (Utility-first, zero-runtime CSS)
- PDF Core: PDF.js (Standard-compliant PDF parsing)
- Icons: Lucide React (Clean, consistent iconography)
Get up and running in less than 2 minutes.
- Node.js: v18 or higher recommended.
- Browser: Chrome, Edge, Safari, or Firefox (Chromium browsers recommended for best voice variety).
-
Clone the repository
git clone https://github.com/analystsandeep/pdf-text-to-speech-reader.git cd pdf-text-to-speech-reader -
Install dependencies
npm install # or pnpm install # or yarn install
-
Start the development server
npm run dev
-
Open
http://localhost:5173to view the app.
Power users can navigate without touching the mouse:
| Key | Action |
|---|---|
| Space | Play / Pause reading |
| Esc | Stop reading / Close active modal |
| / | Search / Open help |
| ? | Toggle Keyboard Shortcuts list |
| Ctrl + + | Zoom In |
| Ctrl + - | Zoom Out |
| Ctrl + 0 | Reset Zoom to Fit Width |
- Click Word: Start reading from that specific word.
- Double Click: Pause playback.
- Right Click Word: Define word (Dictionary lookup).
- Scroll Wheel: Navigate document.
- Ctrl + Scroll: Zoom in/out.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Developed for the Open Source Community Analyst Sandeep