Text to Speech Reader - Hear Text Read Aloud with Your Browser's Voices
Paste or type text, choose a voice, and press Play. The page reads it aloud using the speech voices your own browser and device provide, and marks the word being spoken when the voice reports it.
Maintained by Hirantha Sandaruwan Lakshan. Updated 15 October 2026.
About this tool
The voice list is exactly what your device offers, so it differs from one phone or computer to the next. Nothing is recorded or uploaded.
How it works
The page uses the speechSynthesis part of the Web Speech API. The voices are supplied by your browser and device, not by this page. They are grouped by language with your page language first. Browsers announce a change to the voice list with the voiceschanged event (MDN), and some may fill the list a moment after the page loads, so the page listens for it and updates by itself. If the list is empty it says so and tells you what to look for. Each voice is marked on this device or online, which comes from the voice's localService flag: MDN describes it as whether the voice is supplied by a local or a remote speech synthesizer service.
Sinhala and Tamil voices are often missing, and the page does not claim any exists. Under the voice list it says whether your browser lists a Sinhala or a Tamil voice right now, taken from the live list. If it lists none, text in that language is read with whatever voice the browser falls back to, and the result may be poor or silent. You can check on any device by opening the voice list and looking for a Sinhala or Tamil group.
Long text is read in short pieces, one after another. Chrome has a long-reported problem (Chromium issue 679437, as cited in issue 60 of the PhET utterance-queue project) in which a long utterance spoken with some online voices, reported for Google voices, stops after about 15 seconds. The pieces are about 110 characters at normal speed, longer when you speed up and shorter when you slow down, end at sentence ends where they can, and are never cut through a character: not through an emoji, a letter with its accent, or a Sinhala joined letter. The next piece starts when the last one ends. Pause and Stop act at once, but a change of voice, speed, pitch or volume is heard from the next piece.
The browser's boundary event tells the page where the voice has reached in the text. Not every voice sends it. When yours does, the current word is marked; when it does not, only the piece being read is shown and the page says so. The page uses the reported position only and finds the end of the word itself, because the length that engines report is not reliable: MDN describes it as the number of characters left after the position, or 0 when the engine cannot tell.
This page records nothing and uploads nothing. A voice marked online is supplied by a remote speech service, so your browser may send the text to that service to be turned into speech. This page does not send it anywhere itself. If your text is private, choose a voice marked on this device. Whether a particular browser does this for a particular voice is for that browser's own documentation to say.
Worked examples
Proofreading by ear
Paste a draft and press Play. Awkward sentences, repeated words and missing words are easier to hear than to see. Pause at a sentence you want to fix, change it in the box, and press Play from the start.
Checking whether your device has a Sinhala voice
Open the voice list. If a group named Sinhala is there, your browser offers at least one Sinhala voice, and the note under the list says so. If there is none, this page cannot read Sinhala text well on this device, and the note says that too.
Slowing down to follow along
Set the speed to 0.7x. The pieces become shorter (77 characters instead of 110) and the marked word, if your voice reports it, moves slowly enough to read along with.
Frequently asked questions
Is my text uploaded or recorded?
This page does not record or upload anything. The one thing to know is that a voice marked online is supplied by a remote speech service, so your browser may send the text to that service. Choose a voice marked on this device for private text.
Why is the voice list empty?
Some browsers may fill the list a moment after the page loads, and this page updates when they do. If it stays empty, your browser or device may have no speech voices installed or turned on. Look in the speech or accessibility settings of your system, then press Check again.
Does it read Sinhala or Tamil?
Only if your device has a voice for the language, and many do not. The page tells you whether your browser lists a Sinhala or Tamil voice right now. Without one, the text is read with another voice and the result may be poor or silent.
Why does the highlight not move for my voice?
Not every voice reports where it is in the text. When yours does not, the page shows the piece being read instead of a single word. Try another voice, though no browser promises that any voice reports them.
Why does it read in short pieces?
Chrome has a long-reported bug in which long speech from some online voices stops after about 15 seconds. Reading one short piece at a time avoids depending on a single long utterance. There can be a tiny gap between pieces.
Can I save the speech as an audio file?
No. This page plays the speech through your speakers and does not record or keep it. To keep a recording you would need a tool that captures your device's sound output.
Pause does nothing on my phone. Why?
How well Pause works varies between browsers and voices. Some phone engines stop the piece instead of pausing it: Resume then carries on with the next piece. If it does nothing, press Stop and then Play to start again, or try another voice.
Sources & references
Updated Oct 15, 2026