Subtitle format guide: SRT, VTT, ASS, SSA, SBV and more
Subtitle files come in many formats, each with its own tradeoffs. This guide covers the most common formats you will encounter and when to use each.
SRT — SubRip
Extension: .srt · Use: universal subtitle distribution.
Plain text, cue-based, minimal. Supported by virtually every video player and editing tool. Commas separate milliseconds. Cue numbers are required.
1 00:00:01,000 --> 00:00:04,000 Hello and welcome.
Best for: desktop distribution, YouTube uploads, editing workflows. This is the format to pick when you do not know what the target player needs.
WebVTT
Extension: .vtt · Use: HTML5 video captions.
W3C standard. Starts with a WEBVTT header. Uses period-separated milliseconds. Supports cue identifiers, CSS-like styling blocks and cue settings for positioning. Native support in HTML5 <track> elements.
WEBVTT 00:00:01.000 --> 00:00:04.000 Hello and welcome.
Best for: web video, custom JavaScript players, accessibility captions on the modern web.
ASS — Advanced SubStation Alpha
Extension: .ass · Use: styled, positioned subtitles.
Rich formatting: fonts, colors, positioning, karaoke effects, drawing instructions. Widely used in anime fansubbing and broadcast. Complex to edit by hand. Not supported by browser <track> elements directly; requires conversion to VTT for the web.
Best for: content where styling and positioning matter. Overkill for simple dialogue subtitles.
SSA — SubStation Alpha
Extension: .ssa · Use: legacy of ASS.
Predecessor to ASS. Still found in older anime subtitle releases. Newer work uses ASS. Most tools that open SSA also open ASS.
SBV — YouTube SubViewer
Extension: .sbv · Use: YouTube captions (legacy).
Minimal format with timestamps in the form 0:00:01.000,0:00:04.000. YouTube accepts SBV but SRT is the more universal choice.
SUB — MicroDVD
Extension: .sub · Use: frame-based subtitle timing.
MicroDVD SUB files use frame numbers instead of timestamps: {100}{200}Hello. Timing is relative to frame rate, so the file is only accurate when paired with the correct frame rate. Difficult to convert without knowing the frame rate. MicroDVD is legacy and rarely used today.
Subtitle JSON
Extension: .json · Use: programmatic subtitle data.
Not a formal standard — each tool defines its own JSON schema. Typically an array of cues with start, end and text fields. Useful for JavaScript video players, custom subtitle processing and data analysis.
Our Subtitle to JSON tool exports cues in a schema with id, start, end, startTime, endTime and text fields. Use JSON to SRT to reverse the conversion.
Choosing a format
| Use case | Format |
|---|---|
| General distribution | SRT |
| HTML5 web video | VTT |
| YouTube upload | SRT |
| Anime fansub | ASS |
| Programmatic processing | JSON |
| Legacy DVD | SUB or SRT |