Vin Xu

CastReader 2.0 - Read aloud any webpage — even Kindle and WeRead

by
CastReader 2.0 now reads Kindle Cloud Reader and WeRead (微信读书) — two platforms no other TTS tool supports. It extracts text from Canvas-rendered pages using OCR + font decoding, highlights paragraphs in real-time as you listen, and strips away ads and nav bars automatically. Works on 15+ platforms including Notion, Google Docs, ChatGPT, and Claude. Supports Chrome, Edge, Firefox, and Safari. Free to use, no account needed.

Add a comment

Replies

Best
Vin Xu
Hey everyone — I'm Vin, the maker of CastReader. Three months ago I launched v1 here and the response blew me away. #10 of the day, 99 upvotes, and a ton of feedback that shaped what I built next. The biggest request? "Can it read my Kindle books?" Turns out Kindle Cloud Reader renders text using custom font subsets — the characters you see on screen don't exist as normal text in the DOM. Every other TTS tool I tried just returned blank. So I spent two months building an OCR calibration pipeline that decodes those glyphs back into real text. It works. You press Read Page on read.amazon.com and it just reads your book aloud with paragraph highlighting. Same story with WeRead (微信读书), China's biggest reading platform. They render everything on Canvas — no text in the page at all. We intercept the chapter data before it hits the Canvas and extract the full text. Nobody else does this because nobody else is crazy enough to try. What's new in this launch: — Kindle Cloud Reader support (OCR + font glyph decoding, zero API cost) — WeRead Canvas text extraction with real-time highlight overlay — Edge, Firefox, Safari support (was Chrome-only before) — 15+ platform extractors: Notion, Google Docs, ChatGPT, Claude, Gemini, Feishu, Yuque, and more — Smarter content extraction that actually skips nav bars, ads, and sidebars Still free. Still no account needed. I'd love to hear what you think — and especially what platforms or sites give you trouble. Every bug report makes the extractor smarter. Try it: castreader.ai