Subtitle guide
SRT, VTT and ASS subtitle formats explained
7 min read Updated June 14, 2026
Open a subtitle file in a text editor and it looks deceptively simple. Some numbers, some timestamps, some lines of dialogue. But there are a dozen competing subtitle formats, and the differences between them decide whether your captions show up at all, whether they keep their italics, and whether they drift out of sync. This guide explains the formats you will actually meet, what each one is good at, and how to move between them without losing anything you care about.
The two things every subtitle format stores
Underneath the formatting, every subtitle format is doing the same two jobs.
- Timing. When each line appears and disappears, expressed as a start and end timestamp.
- Text. The words shown on screen, sometimes with styling such as italics, colour or position.
Where formats differ is in how they write those timestamps and how much styling they can carry. Get those two ideas straight and the rest of this page is just detail.
SubRip (.srt), the universal default
SubRip, almost always seen as a .srt file, is the closest thing to a universal subtitle format. It is plain text, every media player on earth understands it, and it is easy to read by eye. A single cue looks like this.
1
00:00:04,000 --> 00:00:06,500
It's a beautiful day in the neighbourhood.
That is the whole format. A sequential number, a timing line using a comma as the decimal separator, and one or more lines of text, separated from the next cue by a blank line. SRT supports basic HTML-style tags such as <i> for italics and <b> for bold, and most players honour them, but it has no concept of fonts, exact on-screen position, or karaoke timing.
Use SRT when you want maximum compatibility. Desktop players like VLC, set-top boxes, smart TVs, Plex and Jellyfin all read it happily. If you are not sure what format you need, SRT is the safe answer. For a closer look at this format on its own, including how to open, create and edit one, see what is an SRT file.
WebVTT (.vtt), subtitles for the web
WebVTT (Web Video Text Tracks), the .vtt format, was designed for HTML5 video. If you have ever added captions to a <video> element with a <track> tag, you were using VTT. It looks a lot like SRT with three differences.
WEBVTT
00:00:04.000 --> 00:00:06.500
It's a beautiful day in the neighbourhood.
First, the file must begin with a WEBVTT header. Second, timestamps use a period as the decimal separator instead of a comma. Third, VTT adds web-friendly features SRT lacks, such as cue positioning, CSS styling hooks and metadata. The sequential cue numbers are optional.
Use VTT when your captions need to play in a browser, whether that is an HTML5 player, a streaming page, or anything else built on the web. Because the structures are so close, converting SRT to VTT is lossless. The timing and text carry over exactly, and only the punctuation of the timestamps changes.
ASS and SSA (.ass, .ssa), styling and karaoke
Advanced SubStation Alpha (.ass) and its predecessor SubStation Alpha (.ssa) are the heavyweight formats. They are common in anime fansubs and anywhere subtitles are treated as design rather than just text. An ASS file has a structured header that defines named styles (fonts, colours, outlines, shadows, exact screen coordinates) and then an events section where each line references a style.
Dialogue: 0,0:00:04.00,0:00:06.50,Default,,0,0,0,,It's a beautiful day in the neighbourhood.
Notice the timing is in centiseconds (hundredths of a second) and lives inside a comma-separated row. ASS can do animated text, karaoke highlighting, rotated and positioned captions, and per-line style overrides. It is enormously more capable than SRT, and enormously more complex.
Use ASS when you need precise styling or positioning. That means signs and on-screen text translations, karaoke, or stylised captions that must look a specific way. The trade-off is that not every player renders ASS faithfully, and the styling is easy to break if you edit by hand.
SUB/IDX, SBV, TTML and the rest
A few other formats turn up occasionally.
- VobSub (.sub + .idx) files are image-based subtitles ripped from DVDs. The
.subholds pictures of the text and the.idxholds the timing. Because the text is an image, you cannot edit it directly. It has to be run through OCR to become editable text. - MicroDVD (.sub) is a confusingly named text format that times cues by frame number rather than clock time, which makes it fragile across different frame rates.
- SBV is YouTube’s older caption export format, very close to SRT.
- TTML and DFXP are XML-based caption formats used in broadcast and some streaming pipelines.
For everyday use you will rarely need these, but it helps to recognise them so you know when a file is image-based (and therefore not directly editable) versus text-based.
Which format should I use?
A quick decision guide.
- Playing a downloaded movie in VLC, Plex or on a TV? Use SRT.
- Embedding video on a website? Use VTT.
- Need italics, colour, exact positioning or karaoke? Use ASS.
- Handed a
.sub/.idxpair? That is image-based, so you will need OCR before you can edit the words.
Converting between formats safely
The good news is that timing and text always convert exactly between text formats. A timestamp is a timestamp. What can be lost is styling that the destination format cannot represent. Convert an elaborately styled ASS file to SRT and the positioning, fonts and karaoke effects are stripped, leaving clean plain text. Going the other way, from SRT into ASS, a sensible default style is applied so the file is ready to use.
That is exactly how the SubAlign subtitle converter works. It reads every cue, rewrites the timestamps in the target format’s convention, preserves the text and the styling that survives the trip, and tells you about anything it had to drop. Everything happens in your browser, so the file never leaves your device.
The bottom line
You do not need to memorise every format. Remember that subtitles are just timing plus text. SRT is the universal default, VTT is its web-native cousin, and ASS is the one that carries heavy styling. Converting between text formats is safe as long as you accept that advanced styling does not survive a trip into a simpler format. With that mental model, picking and converting the right subtitle format stops being guesswork.