Subtitle File Formats Explained: SRT, ASS, and VTT
Subtitle files look simple from the outside: a small text file that adds words to a video. In practice, they come in several different formats, and each one handles timing, styling, and compatibility a little differently. The three you will run into most often are SRT, ASS, and VTT. Knowing what each one does — and which to choose — saves a lot of frustration when a subtitle track refuses to load or shows up as a wall of raw code.
This guide explains how each format is built, what it is best at, and how to move between them without losing your work.
What Every Subtitle File Contains
Regardless of format, a subtitle file holds the same basic information: blocks of text paired with start and end times. When the video reaches a start time, the line appears. When it reaches the end time, the line disappears.
Beyond that core, formats differ in three ways:
- Syntax — how timestamps and text are written.
- Styling — whether the file can define fonts, colors, and placement.
- Compatibility — which players, editors, and platforms recognize it.
Nearly all modern subtitle files are plain text. That means you can open them in any basic text editor, read them, and even fix them by hand.
SRT: The Simple, Universal Choice
SRT is the oldest and most widely supported subtitle format. If you only learn one, learn this one. Almost every video player, editing tool, and streaming service accepts it.
How an SRT file is structured
Each subtitle is a numbered block with a timestamp line and one or more lines of text:
1
00:00:02,000 --> 00:00:04,500
The harbor is quiet this early.
2
00:00:05,000 --> 00:00:07,200
That will change soon.
Notice the comma between the seconds and the milliseconds. SRT uses commas, while most other formats use periods.
Strengths and limits
- Strengths: near-universal support, very small file size, easy to read and edit by hand.
- Limits: no real styling. You can add basic bold or italic tags, but font, color, and on-screen position are usually controlled by the player, not the file.
ASS: The Format Built for Styling
ASS was created for detailed fan subtitling, where precise control over fonts, colors, and positioning mattered. It behaves more like a small script than a plain caption list. An older, closely related version is SSA, and modern tools treat the two as nearly the same.
How an ASS file is structured
ASS files are split into sections. The two important ones are Styles, which defines named text appearances, and Events, which places the dialogue on screen:
[Script Info]
Title: Example
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour ...
Style: Default,Arial,48,&HFFFFFF ...
[Events]
Format: Layer, Start, End, Style, Text
Dialogue: 0,0:00:02.00,0:00:04.50,Default,The harbor is quiet this early.
Timestamps use periods and hundredths of a second instead of milliseconds. The Style field links each line to a predefined look.
Strengths and limits
- Strengths: fine control over fonts, outlines, shadows, colors, rotation, and screen position. Supports multiple positioned lines, karaoke-style highlighting, and on-screen labels placed over specific parts of the frame.
- Limits: not universally supported. Some players ignore the styling entirely, and many web and mobile platforms do not read ASS at all. Files are also harder to edit by hand.
VTT (WebVTT): The Format for the Web
VTT, short for Web Video Text Tracks, was designed for video played inside a browser. It keeps most of SRT’s simplicity while adding features the web needed.
How a VTT file is structured
WEBVTT
00:00:02.000 --> 00:00:04.500
The harbor is quiet this early.
00:00:05.000 --> 00:00:07.200 align:start position:10%
That will change soon.
- The file must begin with the line WEBVTT.
- Timestamps use periods, not commas.
- Optional settings after the timestamp control alignment, position, size, and line placement.
- Cues can be named and can carry hidden information such as speaker labels or chapter markers.
- Styling can be applied through a separate style block tied to cue classes.
Strengths and limits
- Strengths: native support in browsers, strong captioning and accessibility features, and more layout control than SRT.
- Limits: weaker support in older desktop players and some editing tools. Styling only works if the player honors it, which is not guaranteed.
Side-by-Side Comparison
| Format | Timestamp separator | Styling | Best for | Support |
|---|---|---|---|---|
| SRT | Comma | Minimal | Everyday use, maximum compatibility | Very wide |
| ASS / SSA | Period | Extensive | Stylized or positioned text | Limited |
| VTT | Period | Moderate | Web video and captions | Good in browsers |
Which Format Should You Use?
- Sharing with anyone, anywhere: SRT.
- Playing video on a website: VTT.
- Controlling the exact on-screen look: ASS.
- Uploading to a video platform: check what it accepts — SRT and VTT cover most cases.
- Archiving: keep the original file and also save a plain SRT copy for everyday use.
How to Convert Between Formats
Conversions are usually straightforward because the underlying timing stays the same.
- Open the file in a subtitle editor or a conversion tool that lists these formats.
- Choose the output format you need.
- Save the file with the matching extension: .srt, .ass, or .vtt.
- Play the video and check the first few lines for timing and readability.
Keep one rule in mind: converting down to a simpler format loses information. Moving from ASS to SRT drops fonts, colors, and positioning. The words and timings survive; the look does not.
Common Problems and Quick Fixes
- Odd symbols instead of text: an encoding mismatch. Re-save the file as UTF-8.
- Subtitle shows as raw code on screen: the file may be named or formatted incorrectly. Confirm the extension matches the content, and that VTT files start with WEBVTT.
- Lines appear at the wrong time: the video may be a different version. Use a sync or offset tool to shift all timings by a fixed amount.
- Styling ignored: the player does not support that format’s styling. Convert to a format the player handles, or accept default captions.
- Two lines overlapping: check for duplicate timestamps and adjust the end times.
Bottom Line
SRT is the safe default — simple, small, and accepted almost everywhere. VTT is the right pick for web video and anything involving accessibility features. ASS is the choice when appearance matters more than broad compatibility, such as stylized or positioned text. When in doubt, work in SRT and convert only if you need something specific.
If you found this useful, explore our other guides on working with media files, converting documents, and fixing everyday tech problems.
About this article
This article was created with the assistance of AI and reviewed by our editorial team before publication. It is provided for general informational purposes only and is not professional advice. We make no warranties regarding its accuracy or completeness.