Skip to content

SMI to TTML Subtitle Converter

Transform Synchronized Accessible Media Interchange subtitles into TTML format instantly and privately in your browser.

Drag & drop your SMI file here

or click to browse

Supports .smi, .sami, .html files up to 50 MB

Core Engine Architecture

Free Online SMI to TTML Converter

Our SMI to TTML converter reads Synchronized Accessible Media Interchange input and produces Timed Text Markup Language output entirely in your browser. Source SMI timing (whole milliseconds (Start=...)) is converted to TTML begin and end timing (seconds, such as 1.500s). SMI styling and markup are stripped, leaving basic ready-to-use output. The conversion runs client-side, so your subtitle files are never uploaded to a server.

Payload & Syntax Inspector

SMI to TTML Code Syntax & Structure Inspection

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

Millisecond Sync
input.smi
SMI SOURCE
<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>
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

SMI vs TTML Technical Specifications

Standard Compliant
Input Format

SMI

SMI

SMI (SAMI, Synchronized Accessible Media Interchange) is a Microsoft subtitle format built from HTML-like <SYNC> elements whose Start attribute is given in milliseconds. SMI supports multiple language tracks through CSS classes and was widely used for Windows Media Player captions and accessibility content.

Output Format

TTML

TTML

TTML (Timed Text Markup Language) is a W3C XML subtitle format. TTML stores captions in <p> elements with begin and end timing expressed as seconds or clock values, and the broader format family supports rich styling, regions, and profiles such as IMSC and ITT.

Format Differences

SMI and TTML use different internal structures; the converter normalizes the source cues into the target layout.
SMI uses millisecond Start attributes on <SYNC> elements; TTML uses begin/end attributes in seconds or clock values.
SMI may carry styling or markup; TTML supports styling models, but this basic output does not map SMI styling and source formatting is dropped.

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

Generates well-formed TTML XML with a <tt> root, <body>, and <div>.
Converts source timing to TTML begin/end expressions in seconds (1.500s).
Escapes XML special characters and converts line breaks to <br/> tags.
Outputs basic UTF-8 TTML without source styling or delivery-profile metadata.

Why Convert?

TTML is requested by many streaming and broadcast delivery workflows.
TTML's XML structure can carry rich styling, regions, and timing in professional pipelines.
TTML is the basis of profiles such as IMSC and ITT used for international subtitle delivery.
TTML is a common interchange format for professional timed-text workflows.
Scenarios

Common Use Cases

Streaming Delivery

Produce basic TTML subtitles, then add any profile-specific metadata or validation required by your platform.

Professional Interchange

Use TTML as the rich, validatable interchange format for professional timed-text pipelines.

IMSC / ITT Profiles

Start with plain TTML timing and text when preparing files for an IMSC or ITT workflow.

Format Ecosystem

Related Formats

How It Works

  1. 1

    Upload your .smi file by dragging it in or browsing.

  2. 2

    The parser reads the Synchronized Accessible Media Interchange structure and extracts each cue's start, end, and text.

  3. 3

    Source SMI timing (whole milliseconds (Start=...)) is converted to TTML begin and end expressions in seconds.

  4. 4

    SMI styling and markup are stripped, and cues are formatted as TTML <p> elements.

  5. 5

    The output .ttml file is generated and ready to download.

Frequently Asked Questions

It reads a Synchronized Accessible Media Interchange file, parses each cue's timing and text, strips SMI markup, and writes a basic .ttml file. Source SMI timing (whole milliseconds (Start=...)) is converted to TTML begin and end timing in seconds.

Absolutely. Every conversion runs client-side in your browser. No subtitle data, file contents, or metadata is ever transmitted to a server.

SMI styling and markup are dropped. The output is plain timed TTML text without SMI styling or delivery-profile metadata.

Yes, completely free with no sign-up, no watermarks, and files up to 50 MB each. All processing happens in your browser, so your files are never uploaded to a server.

Source SMI timing (whole milliseconds (Start=...)) is converted to TTML timing (seconds (1.500s) or clock values).

Yes. The converter is fully responsive and works in any modern mobile browser on iOS and Android.

Ready to convert your subtitles?

Drop your SMI file here and convert to TTML instantly.