Subtitle formats explained: SRT, WebVTT, EBU-STL, IMSC1 and more
SRT, WebVTT, ASS, SCC, EBU-STL, iTT, IMSC1 and EBU-TT-D: what each format is, who asks for it, reading-speed conventions and how to QC before delivery.
The subtitle format you deliver depends on where the film is going. SRT is the universal plain-text format most platforms and festivals accept. WebVTT is the standard for web players. SCC carries US-style closed captions for broadcast. EBU-STL is the long-standing European broadcast exchange format. iTT is Apple's timed-text format. IMSC1 and EBU-TT-D are modern XML profiles of TTML used by streaming and online broadcast services. ASS is for richly styled subtitles, often burned in.
The rule that saves the most trouble: read the delivery specification first, and export exactly what it asks for. This guide explains each format, who typically requires it, the reading conventions that apply to all of them, and how to check files before they leave your hands.
The plain-text workhorses: SRT and WebVTT
SRT (SubRip)
SRT is a numbered list of cues, each with a start and end time and one or two lines of text. It is easy to read, easy to edit in any text editor, and accepted almost everywhere: video platforms, many streaming aggregators, and most festival submission platforms.
Its limits are the reason other formats exist. SRT has no standard for positioning or styling. Some players honour basic italic tags, others ignore them. Encoding matters too: save as UTF-8, or accented characters may break on some players.
WebVTT
WebVTT is the subtitle format of the web, used with the HTML5 track element. It looks like SRT with a header and a full stop instead of a comma in the timestamps, and it adds cue settings for position and alignment, plus styling. If the destination is a website, a custom player or a web-based video host, WebVTT is usually the right choice.
Styled subtitles: ASS
ASS (Advanced SubStation Alpha) supports fonts, colours, outlines, precise positioning and effects. It is popular for stylised work, karaoke-style text, and films where subtitles are part of the design. Few professional platforms accept ASS as a sidecar, so it is mostly used to author the look, then burn it into the picture.
Broadcast formats: SCC and EBU-STL
SCC (Scenarist Closed Caption)
SCC carries CEA-608 closed captions, the line-21 caption standard used in North American broadcast. It is often requested by US broadcasters and some distributors. The format has tight constraints: a limited character set, a fixed caption grid with a short maximum row length, and timing tied to broadcast frame rates. Plan for shorter lines than you would use in SRT.
EBU-STL
EBU-STL (EBU Tech 3264) is a binary subtitle exchange format that European broadcasters have used for decades. Broadcasters and their subtitling vendors still request it for linear TV workflows. Because it is binary, you cannot fix it in a text editor; export it correctly in the first place and validate it.
XML timed text: iTT, IMSC1 and EBU-TT-D
These formats are all built on TTML (Timed Text Markup Language), the W3C's XML standard for timed text. They differ in profile: which features they allow and who expects them.
- iTT (iTunes Timed Text) is Apple's TTML-based format, used when delivering to Apple's platforms through their delivery partners.
- IMSC1 is a W3C profile of TTML designed for internet media. Many streaming services accept or prefer an IMSC profile for text subtitles. Check whether the spec names a specific IMSC version.
- EBU-TT-D is the European Broadcasting Union's TTML profile for distribution, used for online and connected-TV services run by European broadcasters.
If a specification says "TTML", ask which profile. The differences matter to validators.
Who asks for what
General patterns only. Every platform, broadcaster and festival publishes its own rules, and those rules change.
- Web and social: SRT or WebVTT as a sidecar, or burned-in subtitles for platforms and autoplay feeds that ignore sidecars.
- Streaming services: commonly a TTML profile such as IMSC1, sometimes SRT for smaller services. Follow the style guide exactly.
- Apple platforms: iTT, typically delivered through an approved partner.
- US broadcast: SCC for closed captions.
- European broadcast: EBU-STL for traditional workflows, EBU-TT-D for online services.
- Festivals: usually an SRT file for the selection committee, plus subtitled screening copies to the festival's technical spec. See our festival deliverables checklist.
Reading speed and line length
The format carries the text; the conventions decide whether people can read it. Common guidelines, which vary by platform and audience:
- Two lines maximum per subtitle, with the line break at a natural phrase boundary.
- Line length typically around 37 to 42 characters for Latin scripts. Broadcast caption formats like SCC are tighter.
- Reading speed often expressed in characters per second. Many guides suggest roughly 15 to 17 for adult content, and slower for children's programming, while some platforms allow up to about 20.
- Minimum duration of under a second is generally avoided; around five-sixths of a second is a common floor. Maximum duration is often around seven seconds.
- Gaps of a couple of frames between consecutive subtitles help the eye register a change.
- Shot changes: avoid subtitles that straddle a cut by only a few frames.
Translated subtitles usually run longer than the source. Build in headroom when you segment the original.
QC before you deliver
A rejected subtitle file usually fails for boring reasons: overlaps, a cue that is too fast to read, a broken character, the wrong frame rate. Check:
- Encoding (UTF-8 for text formats) and that every special character displays.
- No overlapping cues, no zero-length cues.
- Reading speed and line length within the platform's limits.
- Timing in sync from the first cue to the last, especially after picture changes.
- Frame rate and start timecode match the master.
- The file plays in the target player or passes the platform's validator.
In cinemaOS, Finisher ▸ Localize ▸ Captions runs QC against a profile before export. Strict reports every problem for you to resolve, and Compatible Repair aims for a file that plays cleanly across players. From the same place you can export SRT, WebVTT, ASS, SCC, EBU-STL, iTT, IMSC1, EBU-TT-D or FCPXML, or use Burn In for a version with subtitles rendered into the picture. If you need the subtitles in another language first, see how to translate subtitles locally on a Mac.
FAQ
Should I deliver SRT or WebVTT?
Deliver whatever the destination specifies. Without a spec, SRT is the safest general choice and WebVTT is better for web players.
Can I convert SRT to EBU-STL or SCC afterwards?
You can, but conversions expose limits: SCC's short rows and restricted characters, and EBU-STL's binary structure. Segment and QC for the strictest format you need, then export the others from the same source.
When should I burn subtitles in?
When the player ignores sidecar files, for social posts and autoplay feeds, or when a screening venue asks for it. Keep a clean master without subtitles as well.
Export the right format first time
Keep one corrected subtitle source and export each delivery format from it. Download cinemaOS to run QC and export every format on your Mac during the 60-day free trial; no card is required.