How to use
- Type or paste the text you want spoken, up to 1,000 characters at a time.
- Pick a voice. The Kokoro group has English voices (American and British, several each); the Built-in group, if your device offers one, has your own device's voices, which is where Korean lives.
- Press Speak. The first time a Kokoro voice is used, its model loads (about 90 MB); the browser keeps it, so later text starts at once. A built-in voice has nothing to load and starts right away.
- A Kokoro voice gives a player and a .wav download. A built-in voice just plays, through your device, since there is no file to hand over.
Examples
"Life is like a box of chocolates." with the voice Heart
→ A clear, natural-sounding American English reading of the lineKokoro, the model behind the English voices, is a small open-weight model that is rated close to much larger paid voices for English.
"안녕하세요, 반갑습니다." with a built-in Korean voice
→ The sentence read aloud immediately, in your device's own Korean voiceNo download happens first, and there is nothing to save afterward: the voice lives in your device, not in a model this page loads.
The same English sentence, speed set to 0.7
→ The same voice, read more slowly, without changing its pitchSpeed only changes pace, the way slowing down a recording player would, not how high or low the voice sounds.
How it works
The English voices are Kokoro, an 82-million-parameter open-weight model, run by kokoro-js, a library built on Transformers.js, the same open-source project behind this site’s Speech to Text tool. Model and voice files are fetched once from the Hugging Face Hub and kept afterward by the browser’s own cache; text is turned into phonemes (units of sound) by an English-only phonemizer before the model turns those into audio, which is why only American and British English voices are offered this way.
Korean has no Kokoro voice at all, so it is handled completely differently: the page asks the browser’s own Web Speech API (speechSynthesis) for any voice whose language is Korean, and lists what it finds, if anything, in a separate “Built-in” group. Speaking with one of these calls that API directly; the browser or operating system turns the text into sound itself, the same way it would for any other app on the device, and nothing is generated into a file this page can offer back as a download.
Sources
- Kokoro (hexgrad/Kokoro), the English text-to-speech model used here
- kokoro-js, which runs it in the browser via Transformers.js
- Web Speech API (speechSynthesis), used for built-in voices
Frequently asked questions
- Is my text uploaded?
- No, either way. A Kokoro voice generates the audio on your own device; the only things fetched over the network are that model's own files, the first time you use it. A built-in voice never involves the network at all. The text you type never leaves your device.
- Why is Korean a separate, "built-in" voice instead of a Kokoro one?
- Kokoro, the open-source model behind the other voices, was never trained on Korean speech, so it has no Korean voice to offer at all, in any form. Rather than force Korean text through an English-only voice and have it come out wrong, this page uses your device's own built-in voice for Korean instead, the same one a screen reader would use.
- Why can't I download the built-in voice's result?
- A built-in voice is your device speaking directly, the same as text-to-speech in any other app; it was never turned into an audio file this page could hand you, so there is nothing to download. A Kokoro voice, by contrast, generates an actual .wav file, which you can play here or save.
- I don't see a Built-in group, or it has no Korean voice. Why?
- Built-in voices come entirely from your own device and browser, not from this page, so what is offered (if anything) depends on what your device has installed. If your device has no Korean voice, this page cannot add one; check your operating system's own text-to-speech or accessibility settings.
- Why is there a 1,000-character limit?
- This limit is for the Kokoro voices: a longer piece of text takes a small model like this one noticeably longer to generate and uses more memory, so the limit keeps a single request to a size that finishes in a reasonable time on most devices. Split a longer piece into a few shorter ones. A built-in voice has no such limit, though very long text may still take your device a while to read through.
- Which voice should I use?
- For English, that is a matter of taste: try a few Kokoro voices. Kokoro trained some on more audio than others, so quality varies some from voice to voice; if one sounds off, another often will not. For Korean, your device likely offers only one or two, so there is little to choose between.
- Can I use the result commercially?
- The Kokoro model is released under the Apache License 2.0, which allows commercial use. A built-in voice belongs to your device's own operating system, under whatever terms that OS sets. Either way, you are responsible for how you use the words you had it read.
Related tools
Version history
- 1.1.0 — Adds Korean, read by a built-in voice from your own device, since the Kokoro model has no Korean voice at all. A built-in voice plays directly and has no file to download.
- 1.0.0 — First release.