PDF Read Aloud Online Free — No Upload

Drop a PDF or .txt file — text is extracted right in your browser using pdf.js, then read aloud with word-by-word highlighting via the Web Speech API. Nothing is sent to any server.

1. Open a file

📄
Drop PDF or text file here
or click to browse — stays 100% in your browser

2. Choose voice & speed

3. Play

How it works

Everything runs in your browser. No file ever leaves your device.

Step 1 — Text extraction pdf.js (Mozilla's open-source library, loaded from CDN) parses the PDF locally and extracts its text content page by page.
Step 2 — Sentence splitting The extracted text is split into sentences. Each sentence is queued as a separate Web Speech utterance so that Pause, Resume, and Skip are granular and reliable.
Step 3 — Word highlighting The browser fires onboundary events for each word boundary as it is spoken. The matching word in the viewer is highlighted in real time and scrolled into view.
Step 4 — Controls Play, Pause/Resume, Skip sentence, and Stop all operate on the local utterance queue — no network request is ever made.

Privacy: Your file content is never sent anywhere. The tool reads the file using the browser's FileReader API and feeds the text directly to SpeechSynthesisUtterance.

Frequently asked questions

Is my PDF actually uploaded anywhere?
No. Everything happens inside your browser tab. The file is read by the browser's built-in FileReader API, and the text is passed directly to the Web Speech API — both are local APIs that require no network access. You can confirm this by putting your device in airplane mode: the tool still works perfectly.
Which browsers and voices are supported?
The Web Speech API is supported in Chrome, Edge, Safari 14+, and most modern browsers. Available voices depend on your operating system — Chrome on Windows typically has 20+ voices including many natural-sounding ones, and macOS provides high-quality neural voices such as Samantha and Alex. Firefox has limited speech synthesis support on some platforms; if no voices appear, try Chrome or Edge. The voice list is populated from whatever your OS provides.
Why does word highlighting sometimes lag or jump?
Word boundary events (onboundary) are fired by the browser's speech engine. Some voices (especially cloud-backed voices in Chrome) may fire these events with slight timing variations, causing the highlight to occasionally appear a word early or late. Switching to a local/offline voice (usually labelled without a cloud icon) gives the most accurate real-time highlighting. Reducing the speed (to 0.75× or 1×) also improves tracking accuracy.
Can I read scanned PDFs (images of text)?
Scanned PDFs contain rasterized images rather than embedded text, so pdf.js cannot extract words from them directly — this is a limitation of the PDF format itself, not this tool. For scanned documents you would first need to run OCR (optical character recognition) to produce a searchable PDF or a text file, then open that result here. Most desktop PDF applications and online OCR services can produce searchable PDFs.
What is the maximum file size I can use?
There is no hard limit set by this tool — the constraint is your browser's available memory. In practice, PDFs up to 50–100 MB work fine in modern browsers. Very large documents (hundreds of pages) may take a few seconds longer to extract because pdf.js processes each page sequentially, but reading starts as soon as extraction completes. Plain .txt files load almost instantly regardless of size.
How does the Skip Sentence button work?
The extracted text is split into individual sentences before reading begins. Each sentence is loaded into the speech engine as a separate utterance. Pressing Skip Sentence cancels the current utterance and advances the queue to the next sentence, so you can jump past a section that is irrelevant without having to stop and restart from scratch.