← Back to Blog

Kokoro TTS Guide: 54 Voices in Your Browser

By OfflineTTS Editorial Team Testing & editorial method
  • kokoro
  • tts
  • guide
  • webgpu
  • offline
  • browser

Kokoro TTS is the primary natural-voice engine in OfflineTTS. The browser tool currently offers 54 voices across 9 language groups, local audio synthesis, WAV and MP3 export, and optional synchronized subtitles. Open the Kokoro text-to-speech tool to generate audio without an account or API key.

Kokoro TTS at a Glance

FeatureOfflineTTS implementation
Voices54
Language groups9
Model choicesq4 (about 305MB) and fp32 (about 326MB)
Browser runtimesWebGPU with WebAssembly fallback
Audio exportWAV and MP3
Subtitle optionWhisper-first alignment with local estimate fallback
English privacyFully local after model download
Non-English privacyText phonemization service, then local audio synthesis

The model files are a one-time download and can be cached by the browser. Cache persistence still depends on browser storage settings, private browsing, and storage pressure.

Which Languages Are Available?

OfflineTTS organizes Kokoro voices into these language groups:

  1. American English
  2. British English
  3. Japanese
  4. Mandarin Chinese
  5. Spanish
  6. French
  7. Hindi
  8. Italian
  9. Brazilian Portuguese

The English groups use Kokoro’s browser phonemization path and can continue offline after the model is cached. For the other groups, OfflineTTS sends plain text to its phonemization service and receives pronunciation data; the waveform itself is still generated in the browser.

If your priority is fully local multilingual synthesis, Supertonic 3 supports 31 languages after its model files are available locally.

Choose q4 or fp32

OfflineTTS exposes two Kokoro precision options:

The q4 model is approximately 305MB. It reduces weight precision to lower the download and memory cost while preserving the quality needed for normal narration, creator voice-overs, and accessibility use.

Choose q4 when:

  • you are opening Kokoro for the first time;
  • download size and startup time matter;
  • you are generating drafts or regular production narration;
  • your device has limited browser memory.

fp32: Full Precision

The fp32 model is approximately 326MB in the current browser integration. It keeps full-precision weights and is useful when you want to compare output carefully on capable hardware.

Choose fp32 when:

  • the model is already cached;
  • you are testing subtle pronunciation or prosody differences;
  • the additional memory use is acceptable.

OfflineTTS does not expose a q8 option because that variant produced unreliable audio in this integration. Model labels should be treated as implementation choices, not a universal Kokoro size table.

WebGPU and WASM

Kokoro can use two browser execution paths:

  • WebGPU sends compatible tensor operations to the GPU and is normally the faster choice.
  • WebAssembly (WASM) runs on the CPU and provides a broader fallback when WebGPU is unavailable.

The page detects the supported runtime automatically. Generation speed depends on the browser, device, power mode, text length, selected precision, and other active workloads. A single universal “real-time factor” would not be meaningful across all of those environments.

How to Generate Speech

  1. Open Free Text to Speech Online.
  2. Choose q4 or fp32.
  3. Filter voices by language and voice type.
  4. Paste or type your script.
  5. Adjust speed if needed.
  6. Turn on synchronized subtitles when you need SRT timing or read-along highlighting.
  7. Select Generate Speech.
  8. Review the result in the waveform player, then download WAV, MP3, or subtitle files.

For long scripts, use clear paragraph breaks. OfflineTTS divides large inputs into manageable chunks and joins the generated audio, but natural punctuation still produces better pauses.

How to Choose a Voice

Voice choice is subjective, so use the same short sample when comparing options. Include a question, a number, a proper noun, and one longer sentence. That reveals more than a simple greeting.

Useful starting points include:

  • Heart for warm narration and explanatory content;
  • Bella for a more energetic delivery;
  • Michael for a clear, restrained voice;
  • Emma for British English narration.

Browse the complete voice directory for current grades, language labels, and dedicated voice pages. The directory is generated from the same voice registry used by the app, which avoids relying on stale lists in an article.

Synchronized Subtitles

Kokoro itself does not provide reliable word timestamps in the OfflineTTS browser pipeline. When synchronized subtitles are enabled, OfflineTTS:

  1. generates the speech;
  2. runs the selected local Whisper alignment mode against that audio;
  3. uses model-aligned word timing when available;
  4. falls back to a weighted local estimate if alignment cannot return usable words;
  5. groups the result into subtitle cues for SRT download and playback highlighting.

This makes the timing useful for read-along, language learning, short-form video captions, and audiobook review. Estimated timing is approximate and should be reviewed before precise video publishing. See the word timestamp and SRT guide for the complete workflow.

Privacy: What Stays Local?

The privacy boundary depends on the language:

WorkflowNetwork use after model download
English Kokoro TTSNone required for synthesis
Non-English Kokoro TTSPlain text is sent for phonemization
Audio synthesisRuns in the browser
Generated audioRemains on the device unless you upload it elsewhere
Optional Whisper alignmentRuns in the browser after its model download

If a document contains sensitive non-English text and no network processing is acceptable, use a fully local Supertonic language where available or avoid generating that content.

Troubleshooting

The Model Does Not Load

Check available storage and memory, reload the page, and try q4 first. A private browsing session may provide less persistent storage. Clearing site data removes cached models and requires another download.

Generation Is Slow

Confirm that WebGPU is available, close other heavy tabs, reduce text length for the first test, and use q4. CPU-only WASM generation is expected to vary considerably by device.

A Non-English Word Sounds Wrong

Try punctuation, spelling variants, or a shorter sentence around the word. For French and other Supertonic-supported languages, compare the result with Supertonic 3 because the engines use different text and acoustic pipelines.

Audio Exists but Subtitles Are Estimated

Whisper may not find stable word boundaries when pronunciation differs from the input, music or silence is present, or the selected model is too small for the passage. Playback and SRT export can still use the local estimate. Review cue boundaries before publishing.

Kokoro vs Other Browser TTS Engines

EngineChoose it for
KokoroBroad built-in voice selection and natural narration
KittenSmall 24MB download and expression presets
PiperCPU-friendly generation and curated English speakers
Supertonic 3Fully local multilingual synthesis across 31 languages

There is no single best engine for every device and language. Compare the same text in the browser TTS engine guide and choose based on voice fit, privacy boundary, and device performance.

Reproducible Kokoro Voice and Data-Path Test

This guide was rechecked on August 1, 2026 against the Kokoro-82M model card, kokoro-js documentation, and the current OfflineTTS integration. To compare q4 and fp32, generate the same 200-word passage in a new browser profile, record model download size, backend, generation time, output duration, and any audible pronunciation difference. Repeat after the assets are cached so network download time is not confused with inference time.

For privacy-sensitive work, open the browser network panel before pasting representative non-sensitive text. Test English and the target non-English language separately because the integration’s phonemization route differs. A successful local waveform generation does not by itself describe page analytics, model downloads, browser extensions, or storage of the exported file.

Next Steps

Sources

Share this article

Frequently Asked Questions

How many Kokoro voices are available on OfflineTTS?
OfflineTTS currently exposes 54 Kokoro voices across 9 language groups: American English, British English, Japanese, Mandarin Chinese, Spanish, French, Hindi, Italian, and Brazilian Portuguese.
Can Kokoro TTS run in a browser?
Yes. OfflineTTS runs Kokoro audio synthesis in the browser with WebGPU when available and a WebAssembly fallback. Model files are cached after the first download.
Which Kokoro model should I choose?
Use q4, approximately 305MB, for the best balance of download size and quality. The fp32 model is approximately 326MB and keeps full precision. OfflineTTS does not offer q8 because that variant produced unreliable audio in this integration.
Does Kokoro work fully offline?
English Kokoro voices can work fully offline after the model download. Non-English Kokoro text uses the OfflineTTS phonemization service before audio is synthesized locally. For fully local multilingual TTS, choose Supertonic 3.
Can I export Kokoro speech?
Yes. Generate speech in the browser, review it in the waveform player, and download WAV or MP3. Optional synchronized subtitles can also produce SRT timing.

Try OfflineTTS

Four local TTS engines, Whisper transcription, and private browser audio tools.

Open TTS Tool