🎙️ TTS.Rocks — AI Text to Speech

Free text to speech, local voice cloning and summarization.

Text Input

Voice Settings

Save & export

Generate audio to download a bundle with the recording, script and captions.

Use Projects above the editor to save your script, settings and completed audio on this device.

Use with an AI assistant

Copy your setup into Codex, Claude Code or another assistant.

Use this open tab with a browser assistant

  1. Fill Text Input with the narration. Use Upload file for a document, or Exit to leave document mode before making a short recording.
  2. Open the Engine tab and select TTS Engine. Kokoro and Kitten 0.8 make downloadable local speech without an API key. In Voice, choose Voice and Language; Advanced contains speed and compute settings.
  3. Click Generate Speech (or Generate Episode for documents). Wait for Download Audio (or Download WAV) to become enabled. First use downloads the model; read the status for progress or errors.
  4. Click the enabled download button and save the file through your browser's download controls. Save each recording before starting another or closing this tab.

For voice cloning, choose Chatterbox or Pocket TTS and attach a recording under Reference voice (optional). To summarize, open Local AI, choose Summarize under Action, then Create draft. Review the draft and select Use this text before generating audio. Local AI requires WebGPU. Browser Native speaks without exporting a file; cloud engines need your own API key.

Browser assistants and extensions need permission to control this tab and save downloads. They can use these ordinary page controls without running JavaScript. See the browser assistant guide for stable selectors and completion checks.

Keys and reference audio are never copied.

Developer options

AI agents can use this page in Chromium, control the labelled buttons and fields, or run a downloaded copy locally on Windows, macOS or Linux.

Inside a browser: call await ttsRocks.ready(), inspect ttsRocks.capabilities(), then use the example below. With page controls, fill Text Input, select an engine and voice, click Generate Speech, and save Download Audio when enabled. Save each recording before generating the next.

Local CLI: install Node.js 22.12+, clone the repository or extract the source ZIP, and run these commands in that folder:

npm run setup:cli
node tts-rocks.mjs --local --voices --engine kokoro
node tts-rocks.mjs --local --input narration.txt --output narration.wav

Create narration.txt with your script first. Local mode starts and stops its own localhost server and saves WAV, VTT and JSON. For an interactive local page, run node local-server.mjs and open http://127.0.0.1:8844/. The source download includes the app and bundled libraries; Chromium, model weights and remote runtimes download separately. A browser still performs synthesis; fetching HTML alone cannot generate speech.

await ttsRocks.ready();
const audio = await ttsRocks.generate({ text: "Hello." });
ttsRocks.download(audio.id, "narration.wav");
Use with Caption.Ninja
Tip: configure engines and voices above; then click “Use current TTS settings”. Keys are embedded in the generated URL. Kitten 0.8, Supertonic, Chatterbox and Pocket TTS are available in this studio; choose an existing overlay engine for Caption.Ninja.

Narration

Turn text and documents into downloadable speech.

Voice cloning

Clone your own voice from a short recording, locally.

Local AI

Summarize and polish your text before recording.

Automation

Generate audio with agents or scripts using the automation guide.

Loading Model

Initializing...

Projects

Saved in this browser. Download important recordings before clearing site data. Projects do not include API keys, reference voices or music files.

Opening a project replaces the editor. Save your current changes first. After editing a script, generate again to update its audio.

Local AI

First use downloads 0.6–1 GB. Your text stays on this device.

Model & download

Qwen3-0.6B · Apache-2.0. Requires WebGPU. Select up to 3,000 characters in the editor to work on a passage. Model files download from Hugging Face and stay in your browser cache when space is available.