SSML
In one sentence
SSML, the Speech Synthesis Markup Language, is a W3C standard for controlling how synthesized speech sounds by wrapping text in tags that set pauses, emphasis, pronunciation, speaking rate, and how numbers and codes are read.
Definition
SSML is a markup language for controlling how synthesized speech sounds. You wrap text in tags that specify pauses, emphasis, pronunciation, speaking rate and more.
The one practical fact that matters most about it is that support is partial and inconsistent from one provider to the next.
Speech Synthesis Markup Language is a W3C standard, and the crucial practical detail is that providers implement different subsets of it, so a tag that works on one platform may do nothing on another.
The tags in common use
- break, for inserting a pause of a specified length.
- emphasis, for stressing a word.
- prosody, for controlling rate, pitch and volume.
- say-as, for reading content as a date, time, number, currency, telephone number or spelled-out characters. This is the most operationally valuable tag.
- phoneme, for specifying an exact pronunciation.
- sub, for substituting a spoken form for the written text.
- audio, for inserting pre-recorded audio.
Why say-as matters more than the expressive tags
- Numbers, dates, currency and reference codes are where synthesis most often goes wrong in a business context.
- "1,240.50" can be read as a decimal, as a date-like string, or as a run of digits.
- "SW1A 2AA" needs to be delivered character by character, not pronounced like a word.
- Explicit say-as markup removes the guess, and pre-processing content into that markup is standard practice in production systems.
The support problem
- Providers implement different subsets, so a tag that works on one platform can be silently ignored on another.
- The silent part is the difficult part. The output sounds subtly wrong rather than failing visibly, so nobody sees an error.
- Migrating between providers frequently breaks SSML that was working.
- Any spec-sheet claim of SSML support should be read as partial until the specific tags you need are verified.
The generative alternative
- Newer models accept delivery instructions written in plain language instead of markup.
- That is more flexible and less deterministic: markup produces the same result every time, and instructions do not.
- For regulated content, where exact delivery matters, markup remains the safer choice.
SSML and streaming
- SSML is applied at synthesis time and works with streaming, but a very long marked-up passage complicates incremental synthesis, so keeping segments short helps both latency and markup reliability.
Common misconception
That SSML support is a yes or a no. Partial support is the norm, and the unsupported tags are usually the ones you were counting on, so it should be verified by testing rather than accepted from documentation.
Why it matters commercially
SSML is the mechanism by which a business makes sure its prices, dates, reference numbers and brand names are spoken correctly, and those are exactly the elements where an error is both noticed and consequential.
In voice specifically
On a page a price or a postcode simply renders as typed. In speech it has to be delivered, and "1,240.50" or "SW1A 2AA" each have several plausible readings, only one of which is right. SSML is where you remove the ambiguity, which is why the boring tag, say-as, earns its keep and the expressive ones are optional.
Where AsqVox fits
Reading business-specific content correctly out loud, in particular the numbers and names pulled from uploaded documents, is a practical quality requirement for any voice agent built on retrieval over those documents.
Visual
The tag that earns its keep
The expressive tags are optional. say-as is not.
Statistics
Every figure carries its source and year. Vendor numbers are labelled as vendor numbers, and where no reliable figure exists this page says so rather than borrowing one.
Speech Synthesis Markup Language is a W3C standard for controlling speech synthesis output, and its common tag categories are break, emphasis, prosody, say-as, phoneme, sub and audio.
W3C standardindustry rangeW3C Speech Synthesis Markup Language specification, 2026 - A standards fact. What the standard defines and what a given provider actually implements are different things, which is the whole practical problem.
There is no independently maintained compatibility matrix of SSML tag support across text-to-speech providers, so support has to be verified by testing.
-no reliable figureThis gap is genuinely consequential for anyone migrating providers, because markup that worked can break on the move with no error to flag it.
There is no benchmark measuring the effect of markup on spoken accuracy for numeric and coded content, even though pre-processing that content into say-as markup is standard practice.
-no reliable figureThe practice is near-universal in production and its benefit is unmeasured publicly, so it rests on engineering experience rather than a published number.
Streaming synthesis time to first byte typically lands at 100 to 200 milliseconds, and markup does not materially change it, though a very long marked-up passage complicates incremental synthesis.
100 to 200 msindustry rangeCommon production budgeting convention, 2026 - An engineering convention for streaming synthesis rather than a research finding. Keeping marked-up segments short helps both this latency and the reliability of the markup.
Examples
In practice
A financial services agent reads account balances that occasionally come out as dates rather than currency amounts. Instead of relying on the model to interpret each number correctly, the team adds a pre-processing step that converts every numeric value into explicit say-as markup before synthesis. The ambiguity disappears, and the fix is a deterministic transformation rather than a prompt instruction that might or might not hold.
The everyday version
SSML is a way of telling the voice exactly how to say something: pause here, stress this word, read this as a price rather than a plain number. It matters most for the dull things, prices and dates and reference codes, which happen to be the things a customer actually needs to hear correctly.
Usage
Who says it
- Text-to-speech engineers and conversation designers.
- It shows up in integration documentation and in voice-tuning work.
Where it turns up
- On a spec sheet it sits next to SSML support, the supported tag list, pronunciation dictionary support and phoneme override.
- The supported tag list is the useful detail. A bare claim of SSML support tells you almost nothing.
Common misuse
- Treating SSML support as binary rather than verifying the specific tags you need.
- Relying on the model to interpret numbers and dates when deterministic say-as markup is available.
- Assuming markup migrates cleanly between providers, when it frequently does not.
Questions people ask
What is SSML?
SSML, the Speech Synthesis Markup Language, is a W3C standard for controlling how synthesized speech sounds. You wrap text in tags that specify pauses, emphasis, pronunciation, speaking rate, and how to read content such as numbers, dates, currency and spelled-out characters. It is the mechanism a business uses to make sure prices, reference codes and brand names come out correctly.
What does the say-as tag do?
The say-as tag tells the synthesizer how to interpret a piece of content: as a date, a time, a number, a currency amount, a telephone number or a string of characters to read out one by one. It is the most operationally valuable SSML tag, because numbers, dates and reference codes are where synthesis most often goes wrong. "1,240.50" and "SW1A 2AA" each have several plausible readings, and say-as removes the guess.
Do all text-to-speech providers support SSML the same way?
No. Support is partial and inconsistent: providers implement different subsets, and a tag that works on one platform can be silently ignored on another, so the output sounds subtly wrong rather than failing with an error. Migrating between providers frequently breaks markup that was working. Read any claim of SSML support as partial until the specific tags you need are verified by testing.
Should I use SSML or plain-language delivery instructions?
Newer models let you describe the delivery you want in plain language instead of marking it up, which is more flexible but less deterministic: markup produces the same result every time and instructions do not. For regulated content, or anywhere the exact reading of a price or a code has to be right every time, markup remains the safer choice. For expressive tone, plain-language instructions are often easier.
Last reviewed 31 July 2026. Written and reviewed by Dhruv Dholakia, founder of AsqVox.