DevTools Logo
All posts

Text to Speech in the Browser: Voices, Chunking and the No-Download Truth

August 22, 2026 · DevTools

tts
accessibility
audio
productivity

Text to Speech in the Browser: Voices, Chunking and the No-Download Truth

The cheapest editing pass for any writing is listening to it: clunky sentences your eyes forgive, your ears won't. The Text to Speech tool reads your text with the voices already installed on your device — no cloud TTS, no API keys, nothing uploaded.

Voices come from your machine

speechSynthesis.getVoices() exposes whatever the OS and browser provide — Microsoft's and Google's voices in Chrome, Apple's in Safari, plus anything extra installed at the system level. Each is labeled with language and whether it runs locally. The same text with a different voice can sound completely different; worth thirty seconds of browsing the list.

Rate (0.5×–2×), pitch and volume map directly onto the utterance object. At 1.5×–2×, documentation reads at a pace that keeps up with a working developer.

Why the tool chunks your text

Some engines silently truncate long utterances — the classic failure where a long article just stops mid-sentence. The fix is unglamorous and effective: split at sentence boundaries into pieces under ~220 characters, and play them in sequence. You never hear the seams, and nothing gets lost. A duration estimate (words ÷ 2.6 per second, scaled by rate) sets expectations before the first word.

The no-download truth

Browsers deliberately block recording of speechSynthesis output — there is no toBlob, no MediaStream, no workaround. Any "TTS downloader" site is either shipping its own server-side voices or lying. This tool says so in its FAQ instead of shipping a dead button. The workaround for a voiceover file: play the TTS while recording tab audio with the Screen Recorder.

Pair with Voice Dictation for the reverse direction, and the OCR extractor to get text off screenshots worth hearing.