Turn a TXT subtitle file into an STL subtitle file in a few clicks—fast, simple, and processed locally in your browser.
HH:MM:SS:FF (or HH:MM:SS,mmm) start/end times, and blank lines between cues — the parser maps these into TTI records. Unstructured prose will still convert but every cue gets a placeholder duration..stl file individually or as a ZIP if you batched several. No sign-up, no watermark, no email gating.STL — the EBU Subtitling Data Exchange Format defined in EBU Tech 3264, first published February 1991 — is the file broadcasters and post houses still hand over when delivering subtitles to a TV channel or a tape-based archive. Plain-text scripts are how writers, translators, and transcriptionists work day-to-day. Converting TXT to STL is the bridge between an editorial deliverable and a broadcast deliverable.
| Property | TXT (Plain Text) | STL (EBU Tech 3264) |
|---|---|---|
| Type | Human-readable plain text | Binary subtitle exchange format |
| Specified by | None (informal) | European Broadcasting Union, 1991 |
| Timing | Optional, no required syntax | Mandatory; 25 fps or 29.97 fps timecodes |
| Structure | Free-form lines | 1024-byte GSI header + sequence of 128-byte TTI blocks |
| Character set | UTF-8, ASCII, or any encoding | Latin (ISO 6937), Cyrillic, Greek, Arabic, Hebrew (declared in GSI) |
| Metadata carried | None | Language code, publisher, country, frame rate, max rows, max chars/row |
| Editable in | Any text editor | Subtitle Edit, EZTitles, FAB Subtitler, Spot, Cavena |
| Primary use | Scripts, transcripts, working drafts | Broadcast playout, DVD authoring, archive ingest |
| Best for | Drafting, translation, version control | Final TV/broadcast delivery |
STL files begin with an 8-byte Code Page Number and a 3-byte Disk Format Code — the latter is the "STL25.01" or "STL30.01" string that identifies the timing base. Pick the wrong one and downstream tools refuse the file.
| Disk Format Code | Frame rate | Used by | Notes |
|---|---|---|---|
| STL25.01 | 25 fps | PAL/SECAM (most of Europe, Australia, parts of Asia) | The historical default; BBC, EBU members |
| STL30.01 | 30 fps (29.97 drop-frame in practice) | NTSC (North America, Japan, parts of Latin America) | Less common; many tools assume 25 fps if not specified |
For character sets, the GSI byte at offset 0 declares the Code Page Number (e.g., 850 for Latin-1, 437 for US-ASCII), and the byte at offset 3 declares the Character Code Table — 00 = ISO 6937-2 Latin, 01 = ISO 8859-5 Cyrillic, 02 = ISO 8859-6 Arabic, 03 = ISO 8859-7 Greek, 04 = ISO 8859-8 Hebrew. UTF-8 is not supported by the base spec, so non-Latin scripts that aren't in one of these tables (Chinese, Japanese, Thai, Devanagari) won't round-trip cleanly through classic STL — use EBU-TT or TTML instead.
Technically yes, but every cue will share placeholder timing (usually 00:00:00:00 start with a default duration), which makes the STL unusable for playout. STL is a timed subtitle format; without HH:MM:SS:FF cues in the source, the converter cannot infer when each line should appear. Add timecodes to the TXT first — either manually or by running the transcript through a speech-aligned tool — then convert.
The cleanest input is the SRT-style block: an integer cue number on its own line, then HH:MM:SS,mmm --> HH:MM:SS,mmm on the next line, then one or two lines of subtitle text, then a blank line. The converter also recognises the EBU HH:MM:SS:FF (frames) syntax and will keep frame-accurate timing if the file declares 25 fps or 29.97 fps. Mixed formats in the same file produce unpredictable results.
The EBU STL spec genuinely caps timing at 25 fps (STL25.01) or 29.97 fps (STL30.01). For cinema material at 24 fps or web at 23.976 fps, you have two choices: (1) round timecodes to the nearest STL25 frame and accept up to a ~40 ms drift per cue, or (2) deliver in EBU-TT, TTML, or SRT instead, which all support arbitrary frame rates. For most broadcast workflows the source is already conformed to 25/29.97, so this rarely bites in practice.
STL is binary, not text. The GSI block contains fixed-offset metadata fields (publisher, country code, language code, original program title) and each TTI block packs a cue number, timecode in BCD, justification code, vertical position, and the subtitle text bytes — none of which render as readable text. To inspect an STL, use a dedicated tool such as Subtitle Edit or the EBU STL viewer from Jongbel; opening it in Notepad shows mostly junk.
Latin-1 (Western European) accented characters (é, ñ, ü, ç) round-trip cleanly via ISO 6937-2. Cyrillic, Greek, Arabic, and Hebrew work if you select the right Character Code Table in the GSI. Chinese, Japanese, Korean, Thai, Devanagari, and emoji are not supported by EBU STL — the spec predates Unicode adoption in broadcast workflows. For CJK or any script outside ISO 8859, use EBU-TT (XML, UTF-8) instead and re-deliver in that format if your downstream chain accepts it.
The EBU STL spec defines a Maximum Number of Displayable Rows (MNR) and Maximum Number of Displayable Characters (MNC) in the GSI header. The conventional broadcast limits are 2 rows of 40 characters for Teletext-style subtitles (the BBC house style), though the format permits up to 23 rows and 40 characters per row. If your TXT lines exceed 40 chars they'll be wrapped or truncated by the player depending on the target system — keep cues under ~80 total characters across two lines.
Functionally yes — the file is bit-compliant with EBU Tech 3264. In practice, each broadcaster has their own house-style profile on top: required language codes, publisher fields, justification codes (centre vs left), and timing offsets relative to programme start. Open the STL in a broadcast-grade tool (EZTitles, FAB Subtitler, WinCAPS) to set those fields before final delivery — the converter fills in sensible defaults but won't know your channel's exact spec.
EBU STL (Tech 3264, 1991) is the legacy binary format. EBU-TT (Tech 3350, 2012) is its XML/UTF-8 successor based on W3C TTML, and the EBU now recommends EBU-TT for new workflows. STL persists because tape archives, older playout servers, and DVD authoring chains still expect it — and many delivery specifications continue to list STL as an acceptable format alongside EBU-TT. If your downstream chain accepts EBU-TT, prefer it. If the spec sheet says "EBU STL" or the ingest system is older than ~2015, convert to STL.
No. The TXT-to-STL conversion runs entirely in your browser via in-page JavaScript — your script never leaves the tab. There is no sign-up, no watermark, and no file size limit imposed by us. This matters for pre-release content under embargo or NDA, where script files cannot legally be sent to third-party servers.