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 caseFormat
General distributionSRT
HTML5 web videoVTT
YouTube uploadSRT
Anime fansubASS
Programmatic processingJSON
Legacy DVDSUB or SRT

Format reference pages