Chrome's Read Aloud refuses to read PDFs. Speechify reads digital PDFs fine, but goes silent on scans. NaturalReader requires you to upload the file. Here's the technical reason every PDF reading tool fails on some PDFs — and how CastReader handles digital PDFs, scanned PDFs, and PDFs with encoded fonts, all in Chrome.
2-minute setup. No account, no credit card.
Open a PDF in Chrome. Right-click, pick Read Aloud. Nothing happens. Switch to Speechify — it reads a digital PDF fine, but your scanned academic paper stays silent. NaturalReader wants you to upload the file first. Here's why:
Tested on a digital PDF, scanned PDF, and encoded-font PDF in Chrome 140 (April 2026).
Doesn't work on PDFs at all. Chrome's integrated Read Aloud is web-page only; the PDF viewer is out of scope.
Works on digital PDFs. Fails on scanned PDFs (no OCR). Reads garbage on encoded-font PDFs. No fallback when the text layer is missing or obfuscated.
Requires you to upload the PDF file to their server first. Doesn't work on PDFs open in Chrome. Upload flow breaks reading flow.
Only works in Acrobat desktop, not in Chrome. Robotic voice. Can't handle scans without OCR.
Reads digital PDFs via text layer. Falls back to OCR (Tesseract, runs locally) on scanned PDFs and encoded-font PDFs. Works directly in Chrome's PDF viewer — no upload, no switching apps.
Three strategies, auto-selected per page.
For digital PDFs, we pull text from the PDF.js text layer that Chrome's viewer already builds. Fastest path, sub-second.
If the extracted text is unreadable (detected by dictionary ratio + character entropy), we know we're looking at a CID-encoded or obfuscated-font PDF. We run the page through Tesseract OCR locally — same OCR engine Google uses internally, running in WebAssembly in your browser.
For pure scans, we OCR every page bitmap. Pages pre-process in the background while you listen to the current one, so the whole experience stays smooth. Nothing leaves your device — OCR is 100% local.
Free on Chrome, Edge, and Firefox. No account, no credit card.
Drag it into Chrome, or click any PDF link. CastReader detects PDF viewer pages automatically.
For digital PDFs, audio starts within a second. For scanned PDFs, the first page OCRs in ~3 seconds and audio begins.
Chrome's built-in Read Aloud is scoped to web pages only. The PDF viewer runs in a separate sandboxed frame, and Chrome's team explicitly excluded it from Read Aloud support. Extensions can bridge this gap, but most (including Speechify and NaturalReader) only handle the easiest case — digital PDFs with a clean text layer.
No. Speechify reads the PDF text layer. Scanned PDFs have no text layer — they're images. Speechify will go silent. CastReader detects this and falls back to Tesseract OCR automatically.
Those are usually publisher-exported PDFs with CID-encoded fonts — the text layer maps 'Cat' to internal glyph IDs like 'J$*' to discourage copy-paste. Speechify and others read the internal IDs and produce nonsense. CastReader detects the gibberish pattern and re-extracts via OCR.
For clean scans of modern printed material, Tesseract gets 98%+ accuracy. For historical documents, multi-column layouts, and handwritten scans, accuracy drops. CastReader uses LSTM-based Tesseract 5 for best results on Latin scripts, and handles Chinese, Japanese, and Korean via dedicated language packs.
If Chrome's PDF viewer can display it (i.e., you've entered the password), CastReader can read it. We don't bypass DRM — only read what you can already see.
Yes — as long as the PDF opens in Chrome's viewer (the default for Google Drive, inline Gmail attachments, most web links), CastReader attaches automatically.
Tesseract runs in WebAssembly on a background thread. The first page of a scanned PDF takes ~3 seconds. Subsequent pages pre-process while you listen, so you rarely feel it. CPU spikes briefly per page, then idles. No GPU required.
40+ natural AI voices across English, Spanish, French, German, Japanese, Chinese, Korean, Portuguese, and more. Language is auto-detected from the extracted text — both for digital PDFs and OCR output.
Start playback in Chrome, click Send to Phone. Audio streams to your phone via Telegram — no mobile app, no sync setup.
CastReader is 100% free — unlimited PDFs, no account required, all voices open. Unlike Speechify's $139/year or NaturalReader's paywalled OCR.
Install once. Open any PDF. Click ▶. Listen.
The full PDF support page
Encrypted font glyphs break every TTS tool — here's the fix
Canvas rendering defeats every TTS tool — here's how we read Google Docs aloud
Canvas-rendered Chinese e-books, read aloud in browser