Skip to content

STL to SMI Subtitle Converter

Transform Spruce Subtitle text into SMI privately in your browser.

Drag & drop your STL file here

or click to browse

Supports .stl files up to 50 MB

Core Engine Architecture

Free Online STL to SMI Converter

Our STL to SMI converter reads Spruce Subtitle text input and produces a single-language Synchronized Accessible Media Interchange document entirely in your browser. Source STL timing is converted to SMI millisecond Start attributes. Bracketed inline tags are removed, pipe separators become newlines, HTML special characters are escaped, and blank SYNC elements mark cue ends. The conversion runs client-side, so your subtitle files are never uploaded to a server.

Payload & Syntax Inspector

STL to SMI Code Syntax & Structure Inspection

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

Millisecond Sync
input.stl
STL SOURCE
// Spruce Subtitle File
// Format: Start Time, End Time, Subtitle Text
 
00:00:01:00 , 00:00:04:00 , Hello, world!
00:00:04:15 , 00:00:08:00 , This is a subtitle file.
00:00:08:15 , 00:00:12:00 , Converted locally!
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

STL vs SMI Technical Specifications

Standard Compliant
Input Format

STL

STL

STL (Spruce Subtitle) is a text-based subtitle format used in DVD authoring and some broadcast workflows. Each entry uses comma-separated start and end timecodes followed by the subtitle text, with the pipe character (|) denoting line breaks. This text STL variant is distinct from the binary EBU STL broadcast format.

Output Format

SMI

SMI

SMI (SAMI, Synchronized Accessible Media Interchange) is a Microsoft subtitle format using HTML-like <SYNC> elements with Start times in milliseconds. SMI supports multiple language tracks through CSS classes and is suitable for Windows Media Player and legacy accessibility workflows.

Format Differences

STL and SMI use different internal structures; the converter normalizes the source cues into the target layout.
STL uses SMPTE frame timecodes HH:MM:SS:FF; SMI uses millisecond Start attributes on <SYNC> elements.
STL text may carry bracketed tags; this conversion removes them and creates one default English 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

Generates a valid <SAMI> document with <HEAD>, <STYLE>, and <BODY> sections.
Converts source timing to millisecond <SYNC Start> attributes.
Escapes HTML special characters and converts line breaks to <br> tags.
Outputs one default ENCC language class.

Why Convert?

SMI (SAMI) is supported by Windows Media Player and legacy Microsoft accessibility workflows.
SMI's HTML-like structure can support multiple language tracks in files that provide them.
SMI is used by older Windows-based players and some corporate media systems.
Converting to SMI preserves millisecond Start timing in a familiar HTML-like layout.
Scenarios

Common Use Cases

Windows Media Captions

Produce SMI captions for Windows Media Player and Microsoft-based playback environments.

Accessibility

Deliver SAMI accessibility captions for legacy corporate and educational media systems.

Multi-Language Files

Create a single-language SMI track that you can extend in SAMI-aware tooling if multiple classes are required.

Format Ecosystem

Related Formats

How It Works

  1. 1

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

  2. 2

    The parser reads the Spruce Subtitle structure and extracts each cue's start, end, and text.

  3. 3

    Source STL timing (SMPTE HH:MM:SS:FF frame timecodes) is converted to SMI timing (whole milliseconds (Start=...)).

  4. 4

    Bracketed inline tags are removed, HTML special characters are escaped, and line breaks become <br> tags.

  5. 5

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

Frequently Asked Questions

It reads a Spruce Subtitle text file, parses each cue's timing and text, and writes a single-language SAMI document with an ENCC class, timed SYNC elements, escaped HTML text, and blank end markers. Source STL timing is converted to SMI milliseconds.

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

Yes. Bracketed STL tags are removed, pipe separators become <br> line breaks, and HTML special characters are escaped. Timing is converted to SMI milliseconds.

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 STL timing (SMPTE HH:MM:SS:FF frame timecodes) is converted to SMI timing (whole milliseconds (Start=...)).

Yes. The responsive page works in modern mobile browsers.

Ready to convert your subtitles?

Drop your STL file here and convert to SMI instantly.