How to read EPUB ebooks aloud in your browser
An EPUB is a ZIP of chapters your browser can parse locally. Here is how read-aloud works for ebooks, and the one thing it cannot do.
By Wordcast | Published 2026-07-04 | 6 min read
How an EPUB becomes spoken text
The browser follows the book spine, extracts chapters, and passes text to a voice.
Open the EPUB
The file contains XHTML chapters, assets, and a reading-order spine.
Extract chapter text
Browser-side parsing removes markup and preserves reading order.
Speak with a device voice
The selected browser voice reads the resulting plain text.
An EPUB file is not really a document. It is a ZIP archive with a different extension. Rename any '.epub' to '.zip', unzip it, and you will find a folder of XHTML files, a stylesheet or two, some images, and a manifest. Each chapter is its own XHTML file, and a file called the 'spine' lists them in reading order. That structure is why a browser tool can parse the book locally instead of sending the file to a parsing server.
Here is what happens. The tool unzips the EPUB in the page using JavaScript, reads the spine to learn the chapter order, then pulls the text out of each XHTML chapter by parsing it and discarding the tags. What is left is plain reading text, which goes to the speech service selected by your browser through the Web Speech API. Wordcast does not require an account; voice networking depends on the voice and browser.
The available voices depend on your operating system. On a Mac you may get the same voices macOS uses for accessibility; on Windows and Android, the list depends on installed language and speech settings. A voice reported as local may keep synthesis in a local service, while a remote voice may need a connection. The EPUB file is parsed in the page, but the selected voice's network behavior still matters.
Now the honest limit, and it is a hard one: DRM. Many ebooks you buy from a store are encrypted with digital rights management. Most Kindle files, the '.azw' and '.azw3' formats, are DRM-protected, and so are some EPUBs sold by other stores. A third-party tool cannot read those. The encryption is the whole point of DRM, and no in-browser reader can unlock it. What works is DRM-free EPUB and plain text: books from Project Gutenberg and Standard Ebooks, EPUBs from stores that sell without DRM, files a publisher gave you directly, or anything you exported yourself. If a file opens in a plain reader that is not the store's own app, it is almost certainly DRM-free.
Even with a clean file, one thing trips up naive read-aloud tools: length. A single chapter can be thousands of words, and you cannot hand all of it to the speech engine at once and expect it to behave. Desktop Chrome has a long-standing bug where it stops speaking after about 15 seconds unless the tool nudges it. The fix for both problems is the same: split each chapter into smaller chunks, usually at sentence boundaries, and feed them one after another. Good tools do this for you; if you ever write your own, this is the part you will get wrong first.
The other thing worth checking is whether the reader keeps your place. A book is not an article, and many simple browser readers do not persist a chapter or position across sessions. Wordcast currently reads the file for the active session; it does not save document progress, so keep your own bookmark if you plan to return later.
Plain '.txt' files are the easiest format of all. There are no tags to strip and no ZIP to open, so the text goes straight to the voice. PDF is the hard case. A PDF describes where ink sits on a page, not what the reading order is, so a two-column academic paper or a designed book page can come out scrambled, with headers, footers, and page numbers read aloud mid-sentence. Extracting clean text from PDF is a genuinely difficult problem, and no browser tool has fully solved it. If you have the choice between a PDF and an EPUB of the same book, pick the EPUB every time.
You do have other options, and they are worth naming plainly. Apple Books has a built-in read-aloud feature, and so does the Kindle app on most devices. Your phone's screen reader, VoiceOver on iOS or TalkBack on Android, can narrate almost anything on screen. These work well, and if your whole library lives in one store, they may be all you need. The tradeoff is that they lock you into that app and usually that store. A DRM-free EPUB read in a browser goes wherever you do, on any device, with no app to install.
So the practical path is this. Get your book as a DRM-free EPUB or a plain text file. Open a browser reader such as Wordcast and let it unzip the chapters in the page. If privacy or offline use matters, inspect the selected voice's localService status and treat it as a browser signal, not a guarantee. Then listen while the tool handles the chunking for the active session. It will not read your DRM-locked Kindle purchases, and no honest tool will pretend otherwise, but DRM-free ebooks remain a practical browser reading format.