Skip to content

STL to TTML Subtitle Converter

Convert Spruce STL cue timing and text into a basic Timed Text Markup Language document.

Drag & drop your STL file here

or click to browse

Supports .stl files up to 50 MB

Core Engine Architecture

Free Online STL to TTML Converter

This converter reads text-based Spruce STL entries and writes a basic TTML document. Cue timing becomes second-based begin and end attributes, line breaks become <br/> elements, and XML special characters are escaped. The conversion runs locally in your browser, so the subtitle file is not uploaded.

Payload & Syntax Inspector

STL to TTML 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.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

STL vs TTML Technical Specifications

Standard Compliant
Input Format

STL

STL

STL here refers to text-based Spruce Subtitle cue lines containing a start time, an end time, and subtitle text. Vertical bars are used as line separators, and bracketed inline tags may appear in the source text. Binary EBU STL is a different format and is not parsed by this converter.

Output Format

TTML

TTML

TTML (Timed Text Markup Language) is an XML format for timed text. This converter emits a basic UTF-8 document with the default TTML namespace, xml:lang="en", a body and div, and <p> elements carrying begin and end times. It does not add optional delivery profiles or styling metadata.

Format Differences

Spruce STL uses text cue lines; TTML uses an XML document.
STL commonly separates lines with vertical bars; TTML uses <br/> elements.
STL timing is parsed from the source time fields; this output uses TTML second-based timing.
The output is basic TTML and does not include optional styling or delivery-profile metadata.

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 text-based Spruce STL cue lines
Writes a basic UTF-8 TTML document
Converts cue timing to second-based begin and end attributes
Converts line breaks to <br/> elements
Escapes XML special characters
Processes files locally without uploading them

Why Convert?

TTML is useful when an XML timed-text workflow expects begin and end attributes.
TTML represents line breaks explicitly with <br/> elements.
TTML is a structured interchange format for timed text.
Converting STL text and timing can make older cues easier to inspect in XML tools.
Scenarios

Common Use Cases

XML Subtitle Preparation

Convert supported STL cues into a basic TTML document for tools that accept timed-text XML.

Line-Break Conversion

Turn vertical-bar STL separators into TTML <br/> line-break elements.

Timing Inspection

Review explicit start and end times in a structured TTML document.

Format Ecosystem

Related Formats

How It Works

  1. 1

    Select or drop a text-based STL file.

  2. 2

    Start time, end time, and text are read from each valid cue line.

  3. 3

    Vertical bars become line breaks and common bracketed inline tags are removed.

  4. 4

    Each cue is written as a TTML <p> element with begin and end times.

  5. 5

    Download the generated .ttml file.

Frequently Asked Questions

No. It creates a basic TTML document with cue timing and text. Delivery profiles and their required metadata are not generated.

Yes. Ampersands, less-than signs, and greater-than signs are escaped for XML.

No. Common bracketed inline tags are removed, and the TTML output does not add a styling model for them.

Source line breaks are written as <br/> elements inside each TTML <p> element.

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

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

Ready to convert your subtitles?

Drop your STL file here and convert to TTML instantly.