SRT to TTML Subtitle Converter
Convert plain-text SubRip subtitles into basic TTML XML in your browser.
Drag & drop your SRT file here
or click to browse
Supports .srt files up to 50 MB
About SRT to TTML
This converter transforms SubRip (SRT) subtitles into a basic Timed Text Markup Language (TTML) XML document. Cue timing is written as begin and end expressions in seconds, line breaks become <br/> tags, and XML special characters are escaped. Processing runs entirely in your browser.
SRT to TTML Code Syntax & Structure Inspection
Side-by-side code inspection illustrating header definitions, timestamp syntax, and cue payload formatting
SRT vs TTML Technical Specifications
SRT
SRT (SubRip) is a plain-text subtitle format using sequential numbered entries with HH:MM:SS,mmm timestamps. Each cue contains a start time, an end time, and one or more lines of text.
TTML
TTML is a W3C XML subtitle format. This converter writes a basic UTF-8 document with a <tt> root, xml:lang="en", <body>, <div>, and timed <p> elements. The broader TTML family supports styling, regions, and delivery profiles, but those profile-specific features are not generated automatically.
Format Differences
Conversion Troubleshooting & Gotchas
Practical solutions for player compatibility, character encoding, and timing synchronization
Subtitle timing drifts or appears out of sync on media players
Video files frequently differ in framerate (e.g., 23.976 fps vs 25 fps). If the timing drifts steadily, use our Subtitle Sync tool to adjust the global offset or framerate stretch.
Characters appear as garbled symbols or question marks (Mojibake)
Legacy files saved in Windows-1252, Shift-JIS, or GBK may render incorrectly. Our exporter standardizes output to clean UTF-8. Use our Subtitle Encoding Converter if the source file is corrupted.
Overlapping captions when multiple speakers talk simultaneously
Different formats handle overlapping dialogue differently. If your target player cannot render stacked cues cleanly, open the file in our Subtitle Editor to adjust individual cue timings.
Video editing software (Premiere, DaVinci, Final Cut) rejects the file
Professional NLE software enforces strict syntax rules. Our converter eliminates malformed line breaks and non-standard tags, producing clean, standardized files.
Features
Why Convert?
Common Use Cases
Professional Interchange
Move SRT content into a structured timed-text format for tools and workflows that accept TTML.
Streaming Preparation
Create basic TTML timing and text, then add the platform-specific profile metadata and validation your delivery workflow requires.
XML-Based Workflows
Use TTML when your pipeline prefers XML input over numbered plain-text subtitle cues.
Multi-Format Delivery
Keep SRT for broad compatibility and create TTML for an XML-based professional workflow.
Related Formats
How It Works
- 1
Upload or drag your SRT file into the converter area.
- 2
The parser reads each numbered cue, extracting start/end timestamps and text.
- 3
Millisecond timing is converted to TTML second expressions such as 1.500s.
- 4
Line breaks become <br/> tags and XML special characters are escaped.
- 5
Download the resulting .ttml file and validate it against your target workflow.
More Subtitle Tools
Frequently Asked Questions
It creates a basic UTF-8 TTML XML document with timed <p> elements. It does not automatically generate Netflix IMSC/ITT, Apple ITV, or EBU-TT-D delivery-profile metadata.
The output uses the default TTML namespace on the <tt> element. It does not declare optional metadata, styling, or profile namespaces because the converter does not generate those features.
Yes. Ampersand and angle bracket characters are escaped so the generated XML remains parseable. Quotes do not require escaping in text nodes.
SRT HH:MM:SS,mmm timing is converted to TTML second expressions. For example, 00:01:30,500 becomes a begin value of 90.500s.
Each cue becomes one <p> element. Line breaks inside the SRT cue are represented by <br/> tags.
HTML-like tags are escaped and appear as literal text in the TTML output. They are not converted to TTML styling elements.