Turn STL subtitle files into SSA subtitles in seconds—right in your browser for fast, simple subtitle format conversion.
Spruce STL is a flat cue list: two timecodes and a line of text, nothing else. SSA (Sub Station Alpha) is a styled subtitle script with named styles, fonts, colours, margins and per-cue override tags. Converting one to the other is an upgrade in capability and a downgrade in nothing, which is why it is a common step before opening subtitles in Aegisub or muxing them into an MKV. The short answer: pick SSA if you are about to restyle or reposition the subtitles, and pick SRT if you only need them to play. If your destination is a modern renderer such as libass, prefer ASS over SSA — the reasoning is below.
The conversion runs in your browser. The file is read locally, parsed by page JavaScript and handed back as a download.
| Property | Spruce STL | SSA |
|---|---|---|
| File type | Plain text, one cue per line | Plain text, INI-style sections |
| Cue syntax | 00:00:04:12 , 00:00:07:19 , text |
Dialogue: Marked=0,0:00:04.48,0:00:07.76,...,text |
| Timing basis | Timecode with a frame field | Clock time to centisecond precision |
| Frame rate | Baked into the frame field | Not frame-dependent |
| Line break in a cue | | |
\N |
| Named styles | No | Yes, in a [V4 Styles] section |
| Fonts and sizes | No | Yes, per style |
| Colours | No (in this text flavour) | Yes, &HAABBGGRR hex per style |
| Positioning | No (in this text flavour) | Yes, via alignment and margins |
| Inline formatting | ^B ^I ^U codes |
Override tags inside {...} |
| Typical use | DVD authoring handoff, subtitle vendor delivery | Fansubbing, karaoke, Aegisub editing, MKV muxing |
.ssa and its [V4 Styles] section.<video> element: choose STL to VTT, the only format a <track> element loads.Both outputs come from the same cue list; only the script revision differs.
| SSA (this page) | ASS | |
|---|---|---|
ScriptType header |
v4.00 |
v4.00+ |
| Styles section | [V4 Styles] |
[V4+ Styles] |
| Style fields | Includes TertiaryColour and AlphaLevel |
Replaces them with OutlineColour; adds ScaleX, ScaleY, Angle |
| Dialogue line prefix | Dialogue: Marked=0, |
Dialogue: 0, |
| Timestamps | 0:00:04.48 centiseconds |
identical |
| Line breaks | \N |
identical |
The generated script carries a single style named DefaultVCD — Arial at size 28, pale yellow text — and one Dialogue line per cue. One repo-specific detail is worth stating plainly: the underlying library emits SSA v4 style colours as raw signed decimals (11861244, -2147483640) rather than hex, which libass, VLC and Aegisub do not render correctly. This page rewrites that line on the way out to &H00B4FCFC and &H80000008 — the same values in the notation the format actually calls for. ASS output does not need the fix, because the library already writes hex there.
Dialogue line per cue.This converter parses the Spruce / DVD Studio Pro text flavour of .stl, whose cue lines look like 00:00:04:12 , 00:00:07:19 , First row|Second row. Header directives such as $TapeOffset = FALSE and // comments are skipped.
It does not parse binary EBU Tech 3264 STL, the broadcast interchange format the EBU published on 27 February 1991 as a 1024-byte General Subtitle Information block followed by 128-byte Text and Timing Information blocks. That file matches no text cue pattern, so it yields zero cues and the message "No cues parsed from input. Check the format." Frame fields are converted at a fixed 25 fps with no control to change it, so 30 fps material — which Tech 3264 also permits, via a STL30.01 Disk Format Code — will be mistimed.
ASS, in nearly every modern case. SSA is Sub Station Alpha v4; ASS is the v4.00+ revision, with a richer style table and the override tags that libass, mpv, VLC and Aegisub are built around. Choose SSA only when a specific tool or workflow asks for it by name — STL to ASS is the same conversion targeting the newer revision.
Yes, for 25 fps sources. SSA timestamps carry centisecond precision, and one frame at the assumed 25 fps is exactly 40 milliseconds, which is a whole number of centiseconds. In our testing a cue timed 00:00:04:12 , 00:00:07:19 became Dialogue: Marked=0,0:00:04.48,0:00:07.76, with no rounding loss anywhere.
No, because the text flavour of STL carries none. Colour, teletext row position and justification live in binary EBU Tech 3264 blocks, not in Spruce cue lines. The output does get a style table, but it is the library's single default style — Arial 28, pale yellow — applied uniformly. Treat it as a starting point to edit in Aegisub, not as a preserved look.
^I and ^B codes from my Spruce STL file?They pass through as literal characters and will be visible on screen. Those are Spruce's inline italic, bold and underline markers, and nothing here interprets or strips them. Remove them in the Input (STL) box before converting, or translate them by hand into SSA override tags such as {\i1}...{\i0}.
Because SSA and ASS reserve { and } to open and close an override block. Per the format's documentation, any unrecognised text inside an override block is silently ignored, so a cue reading Press {START} renders as Press with the braced part swallowed. If you need literal braces on screen you must work around the syntax rather than pass them through.
Yes. Text is the final field of a Dialogue line, so everything after the last structural comma is treated as the text, commas included. A cue reading "Yes, indeed" survives intact. This is why the Format: line inside [Events] matters — it tells a parser how many fields precede the text.
No. It handles the Spruce / DVD Studio Pro text flavour only. A conformant EBU Tech 3264 file is binary and produces zero cues here. If a text editor shows a short readable programme title and then mojibake, convert it with a Tech 3264-aware tool first, then bring the text result back.
No. The conversion is client-side: the browser's file reader loads the file, JavaScript in the page parses and rebuilds it, and the download is generated locally.
Yes. SSA to SRT strips the style table and override tags and writes ordinary timed cues. The round trip preserves text and timing but not styling, so do any restyling work at the SSA stage and export a copy before you flatten it.