Skip to content

TTML to SMI Subtitle Converter

Convert TTML cue timing and text into a single-language SAMI document.

Drag & drop your TTML file here

or click to browse

Supports .ttml, .itt, .xml files up to 50 MB

Core Engine Architecture

Free Online TTML to SMI Converter

This converter reads <p> cues from a TTML document and writes a SAMI document. Cue starts become millisecond <SYNC Start> values, line breaks become <br> tags, HTML special characters are escaped, and each cue end is marked with a blank <SYNC> entry. The output uses one default ENCC language class.

Payload & Syntax Inspector

TTML to SMI Code Syntax & Structure Inspection

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

Millisecond Sync
input.ttml
TTML SOURCE
<?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>
output.smi
SMI RESULT
<SAMI>
<BODY>
<SYNC Start=1000><P Class=ENCC>Hello, world!</P>
<SYNC Start=4000><P Class=ENCC>&nbsp;</P>
<SYNC Start=4500><P Class=ENCC>This is a subtitle file.</P>
<SYNC Start=8000><P Class=ENCC>&nbsp;</P>
<SYNC Start=8500><P Class=ENCC>Converted locally!</P>
<SYNC Start=12000><P Class=ENCC>&nbsp;</P>
</BODY>
</SAMI>
Specification Sheet

TTML vs SMI Technical Specifications

Standard Compliant
Input Format

TTML

TTML

TTML (Timed Text Markup Language) is an XML subtitle format. This converter looks for <p> elements with begin and end, or begin and dur, timing attributes, and accepts second-based or clock-valued timing. Cues without a begin attribute are skipped.

Output Format

SMI

SMI

SMI (SAMI, Synchronized Accessible Media Interchange) is an HTML-like subtitle format using <SYNC> elements with millisecond Start times. This converter emits a single-language document with one default ENCC class; it does not create multiple language tracks.

Format Differences

TTML stores cues in XML <p> elements; SAMI uses <SYNC> and <p> elements.
TTML timing attributes are converted to SAMI millisecond Start values.
TTML line breaks become <br> tags.
TTML source styling is not mapped; the output uses one default ENCC class.

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

Reads TTML <p> cues with begin/end or begin/dur timing
Writes millisecond <SYNC Start> values
Converts line breaks to <br> tags
Escapes HTML special characters
Marks cue ends with blank <SYNC> entries
Processes files locally in your browser

Why Convert?

SAMI is useful for legacy playback environments that expect its HTML-like structure.
The output retains explicit start and end timing through paired <SYNC> entries.
HTML escaping keeps cue text safe inside the SAMI document.
A single default language class keeps the generated document predictable.
Scenarios

Common Use Cases

Legacy Caption Format

Create a SAMI document for an older workflow that accepts SMI captions.

Timing Conversion

Move TTML begin and end values into paired SAMI <SYNC> entries.

Text Safety

Escape ampersands and angle brackets while retaining cue line breaks.

Format Ecosystem

Related Formats

How It Works

  1. 1

    Select or drop a TTML file.

  2. 2

    The parser extracts <p> text and timing attributes.

  3. 3

    Common inline TTML tags are removed and text entities are decoded.

  4. 4

    Each cue is written to an ENCC paragraph with a millisecond start time.

  5. 5

    A blank <SYNC> entry marks the cue end.

Frequently Asked Questions

No. It creates one single-language SAMI document with one default ENCC class.

TTML line breaks are written as <br> tags in the SAMI output.

Yes. There is no registration or watermark, and conversion happens in your browser.

Each cue is followed by a blank <SYNC> entry at the cue end time.

Yes. Ampersands, less-than signs, and greater-than signs are escaped for the HTML-like SAMI document.

No. Processing stays in your browser and the subtitle file is not uploaded.

Ready to convert your subtitles?

Drop your TTML file here and convert to SMI instantly.