How to read EPUB ebooks aloud in your browser
An EPUB is a ZIP of chapters your browser can open without uploading anything. Here is how read-aloud works for ebooks, and the one thing it cannot do.
2026-07-04 · 6 min read
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 open an ebook and read it aloud without ever sending it anywhere.
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 straight to your browser's built-in speech engine through the Web Speech API. No upload, no server, no account. The book text stays in the tab the whole time.
Because the speech happens on your device, the choice of voice depends on your operating system. On a Mac you get the same voices macOS uses for accessibility, and the ones without 'Google' in the name run entirely offline. On Windows you get the Microsoft voices, including the high-quality Natural ones. On Android you get whatever TTS engine is set in your system settings. The book never leaves the browser and, with an on-device voice, neither does a single word of it.
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 doing is keeping your place. A book is not an article. You will stop in the middle of chapter nine and come back tomorrow, and the tool should remember which chapter and roughly where in it you were. This is simple to store in the browser, but plenty of quick tools skip it, which turns a novel into a chore. If you are choosing something to read books with rather than articles, check that it holds your position across sessions.
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 that uses your device's built-in voices, such as Wordcast, and let it unzip the chapters in the page. Pick an offline voice if you care about privacy. Then listen while the tool handles the chunking and remembers your place. It will not read your DRM-locked Kindle purchases, and no honest tool will pretend otherwise, but for the growing shelf of ebooks that are sold without locks, your browser is already a capable narrator that costs nothing and keeps every page to itself.