Tried to read a WeRead book aloud on weread.qq.com using Chrome's Read Aloud, Speechify, or any TTS extension? Nothing happens. Copy-paste returns empty. WeRead renders every book page to Canvas with encrypted chapter payloads. Here's the actual technical reason and how to read WeRead books aloud anyway.
2-minute setup. No account, no credit card.
Open any WeRead book in your browser. Right-click a paragraph and pick Read Aloud — silent. Try to highlight and copy — empty. View source — you see a `<canvas>` element and no readable text. Here's why:
Tested on weread.qq.com with a standard Chinese e-book in Chrome 140 (April 2026).
Silent. Read Aloud can't detect an article on Canvas-rendered pages, so it simply does nothing.
Reads menu labels and nav items, but the book body returns nothing because Speechify reads HTML text layer only. No Canvas support.
Aborts with 'no text found'. NaturalReader requires HTML text or an uploaded file; neither is available on WeRead.
Same root cause — HTML only. Reads nothing on WeRead book pages.
Reads any WeRead book aloud with sentence-level highlighting synchronized to the Canvas. Intercepts the chapter fetch layer before encryption, bypassing the Canvas barrier entirely.
We work at a lower layer than the Canvas — at the data layer WeRead itself uses.
Before WeRead's JavaScript decrypts and paints to Canvas, it fetches chapter content from the CDN. A CastReader main-world content script hooks into that fetch layer and captures the payload before it's converted to pixels.
We decrypt the payload using WeRead's public format, split into paragraphs and sentences, and index by on-screen position. This gives us both the text and a map from each sentence back to its Canvas region.
The extracted text feeds our TTS pipeline. As each sentence plays, CastReader uses Selection API overlays to highlight the matching region on the Canvas. Scroll mode and page-turn mode both work. 40+ voices, fully local.
Free on Chrome, Edge, and Firefox. No account, no credit card.
Log in with your normal WeRead / WeChat account. Open any book you have access to.
Playback starts within seconds. Sentence-level highlights track the audio on the Canvas. Page turns happen automatically.
Because WeRead renders every book page to a `<canvas>` element with no readable HTML text, and its chapter data is fetched encrypted. Chrome's Read Aloud — like every other DOM-based TTS — has nothing to read. CastReader intercepts the data layer directly, which works regardless of how the page is painted.
No. Speechify reads HTML text, and WeRead has none. It will read the UI chrome (menus, buttons) but not the book body.
Yes. You've purchased or subscribed to read these books. CastReader runs entirely locally — no upload, no cloud OCR, nothing leaves your browser. You're listening to content you already have permission to read.
Yes. CastReader auto-detects Chinese and uses Chinese voices. Simplified and Traditional are both supported. Classical Chinese is also handled.
Both. WeRead's default page-turn mode and scroll mode (single-column) are both supported. Sentence-level highlights work in both modes.
Image-heavy pages are skipped for narration. Text around images is read normally. Image-to-description is on the roadmap.
The browser extension only covers weread.qq.com in your browser. Mobile WeRead has its own built-in TTS. For the Mac WeRead desktop client, install CastReader for Mac — it supports WeRead desktop plus Kindle Desktop, Apple Books, Preview, Pages, Notes, Word, Obsidian, and Notion via macOS accessibility APIs.
15+ natural-sounding Chinese voices — male, female, regional accents (Mainland, Taiwan). All free, no account required.
Start playback in Chrome, click Send to Phone. Audio streams to your phone via Telegram — no mobile app, no sync setup. Great for commutes when you can't look at the screen.
CastReader is 100% free. No daily limit, no account, all voices open. Unlike Speechify's paid tiers.
Install once. Open any WeRead book. Click ▶. Listen.
The full WeRead support page with compatibility details
Encrypted font glyphs break every TTS tool — here's the fix
Canvas rendering defeats every TTS tool — here's the fix
PDFs that Chrome, Speechify, NaturalReader can't read