What is TTML?
TTML (Timed Text Markup Language) is a caption format written in XML. Each caption becomes a paragraph with begin and end attributes, and the file can define styles and screen regions. It is the format streaming platforms, broadcasters and some players request at delivery, sometimes under the name DFXP.
Also called: Timed Text Markup Language, DFXP
Part of a TTML file
Each caption is a p element with begin and end. A line break becomes br, and the root element declares the language of the file.
<tt xmlns="http://www.w3.org/ns/ttml" xml:lang="en">
<body>
<div>
<p begin="00:00:01.120" end="00:00:03.480">I started filming in 2015.</p>
<p begin="00:00:03.560" end="00:00:06.200">At my first one,<br/>I forgot the vows.</p>
</div>
</body>
</tt> Why anyone asks for TTML
Because it is an open, structured standard that machines can validate. Anyone receiving lots of captions, like a streaming platform or a broadcaster, prefers XML with clear rules to free-form text.
For creators, TTML is usually a delivery requirement. The captioning work stays the same: you make the SRT and convert it at the end, without touching the timing.
TTML and FilmScribe
We deliver captions as SRT and FCPXML. When a client asks for TTML or DFXP, the free tool turns your SRT into valid UTF-8 XML, with italics kept and timing in milliseconds.
Convert SRT to TTML Paste or drop the .srt and download a .ttml with a valid header and every block as a paragraph. Convert SRT to TTML →Delivering TTML that passes the check
- 01
Ask for the exact profile
TTML comes in several profiles, like IMSC for streaming and EBU-TT or SMPTE-TT for broadcast. Ask the recipient which profile and version they validate against before you convert anything.
- 02
Confirm the time format
TTML can write time as a clock value, like 00:00:01.120, or as frames or ticks. Some specs require one form only, so compare the begin and end attributes with the delivery document.
- 03
Validate the XML
One unescaped character breaks XML. An ampersand in the text must be written as &, and a missing closing tag invalidates the file. Run it through an XML validator before you send it.
- 04
Declare the right language
The xml:lang attribute should match the language of the captions, like en or en-US. A Spanish track declared as English can fail quality control or show the wrong label in the player menu.
Related terms
See all terms →Frequently asked questions
Are TTML and DFXP the same thing?
Almost. DFXP is the name of an older TTML profile, and many people still use both names for the same file. When in doubt, ask which extension they expect: .ttml, .dfxp or .xml.
How do I open a TTML file?
Any text editor opens it, since it is XML. To see the captions on the video, use a player that reads TTML or convert it to SRT.
What do I lose converting TTML to SRT?
Styles and regions, which SRT cannot store. The text, line breaks and timing stay the same.
Captions, clips and paper edits. All in one place.
Upload a video or paste a YouTube link. We transcribe every word with its timing, and you take the result to social media or to your editor.
See the result on your own recording before adding a card.