Skip to content

SSML: the markup that controls pauses, speed and emphasis

Last checked November 2, 2026

SSML stands for Speech Synthesis Markup Language. It's a way of adding instructions to your script, written in tags, so the voice pauses, spells out an acronym or changes pace where you want. Without it, the tool decides everything on its own.

What the tags look like

Tags sit in angle brackets around or between your words, and the whole script is wrapped in a speak tag. Several makers, including Amazon and Google, accept SSML as an alternative to plain text.12

How marked-up text becomes speechScript with tags addedTool checks the markupVoice follows the tagsAudio file to review
The tool reads your tags before it speaks.

The tags a beginner needs

  • break adds a pause. Google describes it as controlling pausing or other prosodic boundaries between words. Prosodic means to do with rhythm and pitch. You can set the length of the pause in seconds or milliseconds.2
  • say-as tells the voice what kind of text it's looking at, such as a date, a telephone number or an acronym to be spelled out letter by letter.2
  • sub swaps what's spoken for different words, such as the full name behind an abbreviation.2
  • emphasis adds or removes stress on the text inside it.2
  • prosody changes pitch, speaking rate and volume.2

For the sake of a worked example, a pause of half a second looks like this: <break time="500ms"/>. That's the format Google's documentation describes for milliseconds.2

Where people go wrong

Putting prosody or emphasis around single words. Google's note says to use these tags around a full sentence, and warns that wrapping words within a sentence may cause unwanted pauses.2 If one word needs more weight, try rewording the sentence first.

Breaking the markup. Amazon says SSML input must be valid, well-formed SSML.1 If you add tags by hand, check that every opening tag has its partner.

Using symbols the markup treats as code. Google tells you to avoid SSML reserve characters in the text, and to use escape codes when you do need one. Ampersands and angle brackets are examples.2 A company name such as "Smith & Sons" needs care for that reason.

Assuming every tag works everywhere. Google says its tool supports a subset of the available SSML tags.2 Another tool may support a different set, so read the documentation for the one you're using.

Before you rely on it

Google notes that SSML characters count toward character limits.2 If your plan counts characters, the tags are part of that count. Check the maker's current pricing page and write down the date you checked.

Add tags a few at a time and listen after each change. If you add ten and the result sounds wrong, you won't know which tag caused it. For names that still come out wrong, see fixing names and terms. For the basic idea of why pauses and stress are hard to get right, see what text-to-speech is.

Where the facts come from

  1. SynthesizeSpeech, Amazon Polly documentation
  2. Speech Synthesis Markup Language (SSML), Google Cloud Text-to-Speech documentation