logo Speak Reader

What is SpeakReader?

It's a speed reader with text to speech.

The idea is when you hear and read something together it will make it easier for you to understand it quickly.

Just click the Play button above to try the demo and see for yourself!

(video demo of speak reader)
What about PDF files or online articles?
Click the "Import Article / E-book" button. Then either paste the link to your online article or upload your e-book. Speak reader supports most e-book formats including pdf, epub, doc, docx, and txt files.
Is this 100% free?
Yes, it's 100% free for use (for wavenet voices you will need to generate an api key from your Google account)!
Can I use it to read article on my mobile phone?
Yes for android, please install an app called URL Forwarder. Then set the configuration as shown in this image here. That's it! Now you can use the "Share" button on any article to directly open and read it via SpeakReader.com.
Why does sometime text and audio lose sync?
Ideally the browser should fire an onboundary message event after speaking each word but unfortunately this API breaks with most voices. So I am calculating the approximate timing [1] using the rate at which the text is spoken / number of words. It isn't perfect but close enough.
Does it work on mobile?
I've tested it on Android and hopefully it should run everywhere. Except maybe Apple since they love to cripple Web APIs. But do let me know if it does work on an iphone.
Help! It doesn't work / I don't see voices !
Try it in a different browser or try it using different voices. Or drop me an email at with details (like screenshot, console log, etc).
What about my privacy?
Your text isn't sent anywhere and this site does not use any cookies or analytics to track you. Your e-book uploads are deleted after processing. The only access it needs is localStorage to cache the speech rate so it doesn't have to calculate it every time.
What about non-english languages?
I need to figure out a way to split text non-english languages (for e.g. Hindi the period is a '|'). I'm sure each language has its own nuances so you may run into some unknown issues.
Is it open-source / can i contribute?
All my projects are always open-source. After some cleanup I'll upload it to github.com (or maybe gitlab)
Made with by San Kumar.