A subtitle file is a plain text file: lines of dialogue, each with a start and an end time. The format decides how much more than that it can carry — styling, positioning, word timing — and which players will accept it.
Three formats cover almost everything you’ll meet: SRT, VTT and ASS.
SRT — the one everything accepts
SubRip (.srt) is the oldest and the most widely supported. A cue is a number, a time range, and the text:
1
00:01:42,300 --> 00:01:45,120
Thanks for watching,
see you next week.
Enter fullscreen mode Exit fullscreen mode
That’s all it holds. No colours, no fonts, no positions — the player decides how it looks. Milliseconds come after a comma.
Use it when you want a file that simply works: desktop players, video editors, TV boxes, most upload forms.
VTT — the web format
WebVTT (.vtt) was written for the browser. The HTML5 <track> element reads this format and no other, so a player on a web page needs VTT.
WEBVTT
00:01:42.300 --> 00:01:45.120
Thanks for watching,
see you next week.
Enter fullscreen mode Exit fullscreen mode
Three differences from SRT: the file must start with WEBVTT, milliseconds come after a period, and cue numbers are optional. VTT can also carry cue settings — position, line, alignment — and simple styling through CSS in the page.
Use it when the subtitles will play in a browser. See how to convert SRT to VTT if you already have the SRT.
ASS — the one that carries the look
Advanced SubStation Alpha (.ass) is a different kind of file. Besides the dialogue it stores a style table: font, size, colours, outline and shadow, margins, alignment. Every line points at a style.
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, OutlineColour, ...
Style: Default,Inter,43,&H00FFFFFF,&H4D100C0C,...
[Events]
Dialogue: 0,0:01:42.30,0:01:45.12,Default,,0,0,0,,Thanks for watching,\Nsee you next week.
Enter fullscreen mode Exit fullscreen mode
Because the look travels with the file, ASS is what subtitle renderers use when subtitles are drawn into a video, and what fansubbing and karaoke tooling has always used. It also supports word-level timing, which is how word-by-word highlighting is done.
Use it when the styling matters and the player supports it (VLC and mpv do), or when you’re handing the file to something that will render it into the picture.
Side by side
SRT VTT ASS Text and timings yes yes yes Styling stored in the file no limited, via CSS yes, full Positioning no yes, cue settings yes Word-level timing no yes yes HTML5<track>
no
yes
no
VLC / mpv
yes
yes
yes
Video editors
usually
varies
rarely
Upload forms (YouTube, Vimeo, socials)
yes
often
rarely
Which one should you pick?
- Uploading to a platform — SRT. It’s the safe default; YouTube, Vimeo and most others take it.
- A player on your own web page — VTT.
- You want your styling to survive — ASS, or skip the file entirely and burn the subtitles into the picture.
- Handing subtitles to an editor or a colleague — SRT, plus a note about the styling you want.
What about the other extensions?
You’ll also run into .ssa (the older version of ASS), .sub (several unrelated formats, some counted in frames rather than in time), .ttml and .dfxp (XML, used in broadcast and by some platforms), and .sbv (YouTube’s own export). They exist, but for everyday work the three above cover it.
Getting a file in the format you need
OpenSubs runs in your browser and exports all three. You can start from an existing subtitle file or from the video itself:
- Open an
.srtor.vttyou already have, then export.srt,.vttor.ass— no video needed. - Or drop in a video and let it transcribe the speech on your own machine, with nothing uploaded, then export.
- Pick a caption style before exporting ASS, so the look is written into the file.
- Or export an MP4 with the subtitles burned into the picture, for places that don’t take subtitle files at all.
FAQ
Can I just rename an .srt to .vtt?
No. VTT needs the WEBVTT header and periods instead of commas in the timestamps. Renaming leaves the file unreadable.
Does converting change the timings?
No. Only the format changes.
Will ASS styling show up everywhere?
No. Players that use a subtitle renderer, such as VLC and mpv, draw it; most web players and editors ignore it. If the look has to survive everywhere, burn the subtitles into the video.
Which format should I upload to YouTube?
SRT. YouTube ignores styling anyway.