Skip to content

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

Core Engine Architecture

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.

Payload & Syntax Inspector

SRT to TTML Code Syntax & Structure Inspection

Side-by-side code inspection illustrating header definitions, timestamp syntax, and cue payload formatting

Millisecond Sync
input.srt
SRT SOURCE
1
00:00:01,000 --> 00:00:04,000
Hello, world!
 
2
00:00:04,500 --> 00:00:08,000
This is a subtitle file.
 
3
00:00:08,500 --> 00:00:12,000
Converted locally!
output.ttml
TTML RESULT
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml">
<body>
<div>
<p begin="1.000s" end="4.000s">Hello, world!</p>
<p begin="4.500s" end="8.000s">This is a subtitle file.</p>
<p begin="8.500s" end="12.000s">Converted locally!</p>
</div>
</body>
</tt>
Specification Sheet

SRT vs TTML Technical Specifications

Standard Compliant
Input Format

SRT

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.

Output Format

TTML

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

SRT is a numbered plain-text format; TTML is an XML document with timed <p> elements.
SRT uses HH:MM:SS,mmm timestamps; this output uses TTML second expressions such as 1.500s.
SRT stores literal line breaks; this output represents them with <br/> tags.
TTML supports styling and metadata in its broader specification, but this converter writes basic timing and text only.

Conversion Troubleshooting & Gotchas

Practical solutions for player compatibility, character encoding, and timing synchronization

4 Common Gotchas
GOTCHA #1

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.

GOTCHA #2

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.

GOTCHA #3

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.

GOTCHA #4

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

Converts SRT millisecond timestamps to TTML begin/end expressions such as 1.500s
Writes a well-formed TTML XML document with body and div containers
Converts cue line breaks to <br/> tags
Escapes ampersand and angle bracket characters for XML safety
Keeps conversion local to your browser with no uploads
Free with no sign-up, no watermarks, and files up to 50 MB each

Why Convert?

TTML is requested by many professional streaming and broadcast workflows.
XML makes timed text easier to validate and integrate into automated pipelines.
TTML is the basis of profiles such as IMSC and ITT used for international delivery.
Basic TTML can serve as a starting point when a platform does not accept plain SRT.
Scenarios

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.

Format Ecosystem

Related Formats

How It Works

  1. 1

    Upload or drag your SRT file into the converter area.

  2. 2

    The parser reads each numbered cue, extracting start/end timestamps and text.

  3. 3

    Millisecond timing is converted to TTML second expressions such as 1.500s.

  4. 4

    Line breaks become <br/> tags and XML special characters are escaped.

  5. 5

    Download the resulting .ttml file and validate it against your target workflow.

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.

Ready to convert your subtitles?

Drop your SRT file here and convert to TTML instantly.