Skip to content
CutConvert

What is an EBU-STL file (and why it is not a 3D model)

By Greg Thompson, Founder, CutConvertPublished

An .stl subtitle file is an EBU-STL — the binary subtitle exchange format defined by the European Broadcasting Union in Tech 3264, and still the format European broadcasters, playout systems, and archives require for subtitle delivery. It is not the same as the .stl used by 3D printers: stereolithography models share the extension but nothing else, which is why a 3D tool chokes on a subtitle file and a subtitle tool chokes on a 3D model. An EBU-STL starts with a 1024-byte header whose first bytes read something like 850STL25.01; a 3D model starts with solid or raw mesh data. This guide covers the broadcast format: what's inside, why your accents look wrong in other tools, and how to convert in both directions — STL to SRT to get editable text out, SRT to STL to produce a European deliverable.

What's actually inside an EBU-STL file

The file has exactly two kinds of blocks:

  • The GSI block (General Subtitle Information, 1024 bytes): ASCII header fields — the disk format code (STL25.01 for 25 fps, STL30.01 for 30), the character table, language code, programme title, subtitle counts, and start timecodes.
  • TTI blocks (Text and Timing Information, 128 bytes each): one per subtitle — or a chain of several for long subtitles. Each block carries the subtitle number, an extension-block number for chaining, in and out timecodes as raw frame counts, vertical position, justification, a comment flag, and 112 bytes of text.

Because it's binary with fixed-size records, an STL survives decades-old broadcast infrastructure untouched — which is exactly why the 1990s format is still mandated in delivery specs today.

Why accents break in other tools

The text inside TTI blocks uses ISO/IEC 6937, a character model most modern software never sees: accented letters are stored as two bytes — a combining accent code followed by the base letter. ü is stored as diaeresis + u; é is acute + e; ß has its own single code. Tools that naively read the bytes as Latin-1 or UTF-8 produce the classic symptoms: umlauts turned into stray symbols, accents detached from their letters, or characters silently dropped. On top of that, teletext-flavored STL files sprinkle control bytes (colors, boxing, double-height) through the text that display as garbage if not stripped. A correct decoder composes the combining sequences into proper characters and strips the control codes — that's the difference between "Grüße" and "GrC8uC>e".

How to open or convert an EBU-STL file

To view or edit an STL natively: Subtitle Edit (free, desktop) opens EBU-STL, and professional subtitling tools (EZTitles, FAB Subtitler, Spot) are built around it.

To convert STL to SRT — for editing, translation, web use, or just reading it — drop the file on CutConvert's STL to SRT converter. It parses the GSI for the frame rate, reassembles chained subtitle blocks, skips subtitler comment blocks, strips teletext control codes, and decodes the full Latin ISO 6937 set including combining accents. Decoding is verified cue-for-cue against the reference conversion pipeline published by IRT, the German broadcast research institute: identical text — umlauts and ß included — and frame-exact timing on a real broadcast file.

To convert SRT to STL for a European deliverable, use the SRT to STL converter. It writes a proper GSI header, 25 fps timecodes, centered bottom-positioned subtitles wrapped to the format's 40-character rows, accents encoded as ISO 6937 combining sequences, and block chains for long subtitles.

FAQ

What program opens an .stl subtitle file? Subtitle Edit (free, desktop) and professional subtitling tools like EZTitles and FAB Subtitler. Text editors show binary garbage — the format is fixed-size binary records, not text. To read it without installing anything, convert the STL to SRT online.

Is this the same .stl as 3D printing files? No — same extension, unrelated formats. EBU-STL is a broadcast subtitle file whose header starts like "850STL25.01"; stereolithography .stl is a 3D mesh starting with "solid" or binary triangle data. CutConvert detects the difference and rejects 3D models with a clear message.

Why do umlauts and accents look wrong when I open an STL? The text uses ISO 6937, where accented letters are two bytes: a combining accent code plus the base letter. Tools that read the bytes as Latin-1 or UTF-8 split or mangle them. A proper decoder composes ü, é, ß and the rest correctly.

What frame rates do STL files use? The disk format code in the header declares it: STL25.01 is 25 fps (the dominant European variant) and STL30.01 is 30 fps. Subtitle timecodes are stored as raw hour/minute/second/frame bytes at that rate.

What are comment blocks in an STL? TTI blocks flagged as comments carry notes between subtitlers — reminders, QC remarks — and are never meant for air. Converters should skip them; CutConvert does, and reports how many it found.

Can I convert an STL file to SRT for free? Yes — short files (about 10 minutes of program) convert free on CutConvert. Full-length subtitle files need a one-time $7 pack or a paid plan.

Greg Thompson · Founder, CutConvert

Greg builds CutConvert, the post-production file converter — including the first working decoder for Premiere Pro’s binary .prtranscript format. He writes these guides from the format specs and real editor workflows.

↑ Back to top