Text to Speech

Pick a voice, paste your text, and get an MP3. The voice model downloads once into your browser and everything after that runs on your own device.

1.00x

116 characters · 0 sentences

Nothing rendered yet. Press Generate to hear your text.

0/0 sentences rendered

Paste in a block of text, pick a voice, and press Generate — the result is an MP3 you can play back or download. Nothing about this tool runs on a server: a small neural voice model runs directly inside your browser, and once you've downloaded it, it stays on your device instead of being fetched again.

How It Works

Text-to-speech here happens in three steps, and all three run on your device. First, a phonemizer breaks your text down into the individual sounds a voice needs to produce — this is what lets the model handle punctuation, numbers, and pronunciation correctly instead of just reading letters. Second, a small neural network (the voice model) turns those sounds into raw audio, sentence by sentence. Third, the audio is stitched together and encoded to MP3 so you can play it back or save it.

None of that involves a server. The phonemizer and the voice model both run through WebAssembly, single-threaded, on your own CPU — which is fast enough for ordinary paragraphs on a desktop machine, and slower on an older phone.

Choosing a Voice

The voice picker lists every available voice along with its language, a rough quality rating, and its licence. Pick a language first, then a voice — the tool remembers what you've already downloaded, so switching back to a voice you've used before doesn't cost another download. Speed can be adjusted after generating, and some voices also expose a pitch control.

Tip: Longer documents are split into sentences automatically, so a typo or an odd word in one sentence only means re-rendering that sentence, not starting over.

Downloading a Voice, and What Stays on Your Device

The first time you generate speech with a given voice, your browser downloads what that voice needs to run: the shared WebAssembly runtime (used by every voice, so it's only paid once), a phonemizer with pronunciation data, and the voice model itself — around 95 MB combined for the default Piper voice, or around 119 MB for a Kokoro voice. The voice model is then written into your browser's own storage, and every later visit reads it from there. Come back tomorrow and none of it is downloaded again.

The engine files are served from this site like any other page asset, so loading the page still needs a connection — what you never pay twice for is the voice, and what never happens at all is your text or your audio going anywhere.

That download is the trade-off for not sending your text anywhere: a server-side tool can start instantly because the model already lives on someone else's machine, while this one asks for a one-time download so the model can live on yours instead.

Frequently asked questions

Does my text get uploaded to a server?
No. Every step — turning your text into phonemes, running the voice model, and encoding the result — happens inside your browser. Your text and the audio it produces never leave your device, and nothing is logged anywhere.
Why does the first run download so much data?
The first time you generate speech, your browser fetches everything the engine needs to run locally afterward: about 13.5 MB for the WebAssembly runtime that executes the voice model, about 18.8 MB for a phonemizer with pronunciation dictionaries that turns written text into the sounds a voice needs, and the voice model itself. That last part depends on the voice — about 63 MB for a Piper voice, which comes to roughly 95 MB in total, or about 86.5 MB for a Kokoro voice, roughly 119 MB in total. Either way it is a one-time cost, not something you pay on every visit, and once Kokoro is installed every further Kokoro voice is only about 0.5 MB.
Do I have to download the voice again next time?
No. The voice model is kept in your browser's own storage and read straight off your disk on every later visit — it is never fetched from Hugging Face again, and no text or audio is ever sent anywhere. The page and the engine files behind it are still ordinary web assets served from this site, so you do need to be able to load the page: this keeps your work on your device, but it is a web page, not an installed offline app.
How do I remove a downloaded voice?
Open the voice picker and use the remove option next to any installed voice. That deletes it from your browser's storage immediately and frees the space it used — you can always download it again later if you need it.
Can I use the generated audio commercially?
It depends on the licence of the voice model you used, not on this tool. Each voice in the picker shows its own licence — the built-in Piper voices are MIT-licensed, which permits commercial use, but always check the line shown next to the voice you actually pick before relying on that.
Is there a limit on how much text I can paste in at once?
Yes, 20,000 characters per document. That's enough for a long article, and the counter under the text box tracks it as you type. For anything longer, split it into parts — each one is generated the same way, on your own device.