groktexttospeech.com is a free, independent website that runs xAI's Grok text to speech model with all 28 built-in voices. There is no sign-up and no API key: paste up to 1,000 characters per clip, pick a voice, and download the MP3. Each visitor can make 20 clips an hour and 10,000 characters a day. The site is not affiliated with xAI.
How to use Grok text to speech
- Type or paste your text (up to 1,000 characters per request on this free tool). Load one of the samples to see how expression tags are written.
- Pick a voice. Ara, Eve, Leo, Rex and Sal are the five original Grok voices; the other 23 were added with the Grok Voice API. Every voice can speak every supported language, so choose by sound, not by language.
- Set the language or leave it on Auto-detect. Set it explicitly when the text mixes languages or when auto-detect guesses wrong.
- Adjust the speed from 0.7× to 1.5×. 1.0× is the model's natural pace.
- Press Generate speech, listen, and press Download MP3 to save the file.
The audio comes straight from xAI's text to speech endpoint, so what you hear here is what your own app would get from the API with the same text, voice and settings.
Speech tags: pauses, laughs, whispers
Grok's TTS model understands two kinds of markers inside the text:
| Kind | Syntax | Tags |
|---|---|---|
| Inline (a sound at that spot) | [tag] | [pause] [long-pause] [laugh] [chuckle] [giggle] [cry] [sigh] [breath] [inhale] [exhale] [hum-tune] [tsk] [tongue-click] [lip-smack] |
| Wrapping (changes how a phrase is spoken) | <tag>…</tag> | <whisper> <soft> <loud> <build-intensity> <decrease-intensity> <higher-pitch> <lower-pitch> <slow> <fast> <emphasis> <sing-song> <singing> |
Every tag, grouped the way xAI groups them and with an example sentence you can paste in, is in the Grok TTS speech tags guide. Tips from xAI's documentation that hold up in practice:
- Put inline tags where the sound would naturally happen, and combine them with punctuation:
Really? [laugh] That's incredible!sounds better than a pile of tags. - Wrap complete phrases, not single words:
<whisper>It is a secret.</whisper>. - Tags nest:
<slow><soft>Goodnight, sleep well.</soft></slow>. - Tags count toward the character limit and toward what xAI bills, but they are not spoken.
What this tool sends and keeps
Your text is sent to our server function, which runs xAI's Grok text to speech model (xai/grok-tts) on Cloudflare Workers AI with your voice, language and speed, and streams the MP3 back to your browser. It is the same xAI model and the same voices as POST https://api.x.ai/v1/tts. Our server does not log or store the text or the audio, and it calls Cloudflare with request logging turned off. It keeps three anonymous counters (requests per hour, characters per day, site-wide characters per day) so one person cannot drain the free budget; those counters are keyed by a hash of your IP, not the IP itself.
Grok text to speech vs. the Grok app's voice mode
The Grok app's voice mode is a speech-to-speech conversation: you talk, Grok answers in real time. That is the Grok Voice 3.0 model. Text to speech is the other half of the same Voice API: you send written text and get back audio in a chosen voice, with no conversation and no reasoning in between. The voices are shared, so Ara in the app is the same Ara you hear here.
Using the same voices in your own app
Developers call the endpoint directly. A minimal request:
curl -X POST https://api.x.ai/v1/tts \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Hello from Grok.", "voice_id": "ara", "language": "en"}' \
--output hello.mp3
The Grok Voice API guide walks through the full request body (output formats, timestamps, pronunciation fixes), and the pricing calculator turns characters per month into dollars.
Last updated: