Skip to content
Format Guide

What Is an SMI File?

Everything you need to know about the SAMI subtitle format, developed by Microsoft for synchronized captions and accessibility.

SMI (Synchronized Accessible Media Interchange, also known as SAMI) is an HTML-based subtitle format developed by Microsoft in the late 1990s. It was designed to provide closed captions for Windows Media Player and Microsoft accessibility tools. Though largely superseded by VTT for web video, SMI files are still encountered in legacy content, educational media, and accessibility archives.

What Does SMI Stand For?

SMI stands for Synchronized Accessible Media Interchange. Microsoft introduced the format as part of its accessibility initiative to provide captions for digital media. The file extension .smi and the format name SAMI are used interchangeably. The format is structurally similar to HTML, using tags and CSS-like styling within a SYNC block to define when subtitles appear and disappear.

How SMI Files Work

An SMI file is essentially an HTML document with a special structure. It contains a HEAD section with style definitions and a BODY section with SYNC elements. Each SYNC element has a Start attribute specifying the display time in milliseconds, and contains a P (paragraph) element with the subtitle text. SMI supports CSS styling, multiple language tracks, and accessibility features like descriptive text for hearing-impaired viewers.

When to Use SMI

SMI is primarily encountered when working with legacy Windows Media content, older educational video platforms, or accessibility archives that were captioned in the early 2000s. If you need to modernize old captioned content, converting SMI to VTT or SRT is the recommended path. For new captioning work, VTT is the standard choice for web video, while SRT offers maximum compatibility.

SMI File Structure

<SAMI>
<HEAD>
<TITLE>Example Subtitles</TITLE>
<STYLE TYPE="text/css">
P { font-family: sans-serif; color: white; }
.ENCC { name: English; lang: en-US; }
</STYLE>
</HEAD>
<BODY>
<SYNC Start=1000>
<P Class=ENCC>Hello, world!
<SYNC Start=4000>
<P Class=ENCC>This is a subtitle.
<SYNC Start=8000>
<P Class=ENCC>&nbsp;
</BODY>
</SAMI>
<SAMI>Root element wrapping the entire subtitle document
<SYNC Start=1000>Marks a subtitle event starting at 1000 milliseconds (1 second)
<P Class=ENCC>Paragraph element with a language class for multi-track subtitles
<STYLE>CSS block for styling subtitle appearance (font, color, position)

Advantages of SMI

  • HTML-based structure that is human-readable in any text editor
  • Supports CSS styling for fonts, colors, and positioning
  • Multiple language tracks within a single file
  • Designed with accessibility features for hearing-impaired viewers

Limitations of SMI

  • Largely deprecated - modern web standards use VTT instead
  • Primarily supported by legacy Windows Media Player and old tools
  • HTML-like syntax can be verbose compared to SRT or VTT
  • No longer maintained or developed by Microsoft

Players and Platforms That Support SMI

Windows Media Player MPC-HC FFmpeg Subtitle Edit Older educational platforms

SMI Frequently Asked Questions

How do I open an SMI file?

SMI files are HTML-based plain text, so you can open them in any text editor or web browser. Subtitle Edit and FFmpeg can also parse them. For modern video playback, convert SMI to SRT or VTT for better player support.

What is the difference between SMI and SRT?

SMI is an HTML-based format with CSS styling, multiple language tracks, and millisecond timing. SRT is a much simpler plain-text format with just cue numbers, timestamps, and text. SRT is universally supported; SMI is mainly for legacy Windows Media content.

What is the difference between SMI and VTT?

Both are text-based formats, but VTT is the modern web standard (W3C) with broad browser support, while SMI is a legacy Microsoft format. VTT is the recommended replacement for SMI in all modern video workflows.

Can SMI files have multiple languages?

Yes. SMI supports multiple language tracks within a single file using different CSS classes (e.g. ENCC for English, ESCC for Spanish). Each SYNC block can contain paragraphs for multiple languages simultaneously.

Convert SMI to Other Formats

You may also need these tools