Text to Speech
Have your browser read text aloud using the Web Speech API. No upload, no server.
Speech status: idle
Characters: 0Words: falseStatus: IDLE
Browser text-to-speech — no upload required
This tool uses the Web Speech API, built into modern browsers. Voices are grouped by language — Chrome on Windows typically has the most voices. Network voices (marked) require internet access. Adjust rate (0.5×–2×) and pitch to match your preference. To estimate reading time for your text, try Reading Time Calculator. To count words and characters, use Word Counter.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Hearing a draft read aloud to catch awkward phrasing.
- Checking how a name or a term is pronounced by a synthesiser.
- Listening to a long document while doing something else.
- Testing how content sounds to someone using a screen reader.
- Proofreading by ear, which catches errors the eye skips.
Frequently Asked Questions
- Where does the voice come from?
- The operating system, through the Web Speech API — so the available voices differ entirely between Windows, macOS, Android and iOS, and between browsers on the same machine. Nothing is downloaded or sent anywhere.
- Why is the voice list empty at first?
- Because getVoices() populates asynchronously and returns an empty array on the first call. You have to wait for the voiceschanged event — a well-known quirk that makes voice pickers appear broken on load.
- Can I save the audio to a file?
- Not through the Web Speech API — it synthesises to the speakers only, with no recording hook. Producing an audio file requires a cloud TTS service, which means sending your text to a server.
- How do I control pronunciation?
- Only crudely: rate, pitch and volume are exposed, but SSML support is inconsistent to absent across browsers. For a mispronounced name, respelling it phonetically in the input is usually the only workable fix.
- Does language selection matter?
- Very much — a voice tagged en-US reading French text produces nonsense, since the pronunciation rules are language-specific. Setting the utterance's lang to match the text is what selects an appropriate voice.
- Why do voices differ between browsers and devices?
- Because the voices come from the operating system, not the browser. The same page produces a different voice list on Windows, macOS, Android and iOS, and a voice selected on one is simply absent on another.
- Does it work offline?
- Depends on the voice. System voices generally do; the higher-quality ones are often cloud-backed and fail silently or fall back when offline — which is why an important flow should not assume speech is available.
Common errors and gotchas
- Assuming the available voices are the same everywhere, since they come from the operating system.
- Expecting correct pronunciation of names, acronyms and technical terms.
- Treating it as equivalent to a screen reader, which navigates structure rather than reading linearly.
- Overlooking that a very long text may be cut off by the platform's own limits.
- Assuming it works offline, when many voices are fetched on demand.
Related Text Tools tools
Case Converter
Convert between Sentence, Title, camelCase, snake_case, and more.
Word Counter
Count words, characters, and analyze keyword density.
Text to Binary
Convert text into its 8-bit binary representation.
Binary to Text
Decode 8-bit binary back into readable text.
Text Reverser
Reverse text by characters, words, or lines.
Remove Duplicate Lines
Delete repeated lines and keep your list unique.
Remove Empty Lines
Strip blank and whitespace-only lines from text.
Sort Lines Alphabetically
Sort lines A–Z or Z–A, case-sensitive or not.