Troubleshooting guide

Why WeRead Read Aloud Doesn't Work in the Browser — and the One Fix

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.

The Problem: WeRead Pages Are Canvas, Not Text

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:

WeRead renders books to Canvas with encrypted chapter data

  • WeRead (微信读书) loads chapter content as encrypted payloads from its CDN, decrypts in JavaScript, then paints each page to a `<canvas>`. There is no HTML text for an extension to read.
  • Chrome's built-in Read Aloud, Speechify, NaturalReader — all of them walk the HTML tree looking for text. On WeRead, they find a blank page.
  • Copy, select, text-export are all intentionally blocked. WeRead does this to prevent scraping — it's not a bug.
  • Accessibility-tree fallback doesn't help either: WeRead doesn't expose chapter text to screen readers, only the UI chrome (menus, buttons).

What Actually Happens in Each Tool

Tested on weread.qq.com with a standard Chinese e-book in Chrome 140 (April 2026).

✗ Fails

Chrome built-in Read Aloud

Silent. Read Aloud can't detect an article on Canvas-rendered pages, so it simply does nothing.

✗ Fails

Speechify Chrome Extension

Reads menu labels and nav items, but the book body returns nothing because Speechify reads HTML text layer only. No Canvas support.

✗ Fails

NaturalReader Chrome Extension

Aborts with 'no text found'. NaturalReader requires HTML text or an uploaded file; neither is available on WeRead.

✗ Fails

Edge Read Aloud

Same root cause — HTML only. Reads nothing on WeRead book pages.

✓ Works

CastReader

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.

How CastReader Reads WeRead Anyway

We work at a lower layer than the Canvas — at the data layer WeRead itself uses.

1

Intercept the chapter fetch

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.

2

Decode and segment chapters

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.

3

Read aloud with Canvas highlighting

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.

How to Read WeRead Books Aloud in the Browser

1

Install CastReader

Free on Chrome, Edge, and Firefox. No account, no credit card.

2

Open weread.qq.com

Log in with your normal WeRead / WeChat account. Open any book you have access to.

3

Click the CastReader icon

Playback starts within seconds. Sentence-level highlights track the audio on the Canvas. Page turns happen automatically.

WeRead Read Aloud FAQ

Why doesn't Chrome's Read Aloud work on WeRead?

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.

Does Speechify work on WeRead?

No. Speechify reads HTML text, and WeRead has none. It will read the UI chrome (menus, buttons) but not the book body.

Is reading my WeRead books aloud in my browser legal?

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.

Does this work on Chinese-only books?

Yes. CastReader auto-detects Chinese and uses Chinese voices. Simplified and Traditional are both supported. Classical Chinese is also handled.

Does it work in scroll mode and page-turn mode?

Both. WeRead's default page-turn mode and scroll mode (single-column) are both supported. Sentence-level highlights work in both modes.

Does it handle images and charts in WeRead books?

Image-heavy pages are skipped for narration. Text around images is read normally. Image-to-description is on the roadmap.

Does CastReader work on the WeRead mobile app?

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.

What voices are supported for Chinese?

15+ natural-sounding Chinese voices — male, female, regional accents (Mainland, Taiwan). All free, no account required.

What if I want to listen on my phone?

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.

Is there a free trial or daily limit?

CastReader is 100% free. No daily limit, no account, all voices open. Unlike Speechify's paid tiers.

Stop Fighting Canvas. Install the One That Reads WeRead.

Install once. Open any WeRead book. Click ▶. Listen.