Published January 19, 2025
What Is an SRT File? Complete Guide to Subtitle Formats
If you have ever worked with subtitles or closed captions, you have likely come across SRT files. They are the most widely used subtitle format in the world, supported by nearly every video player and platform. But what exactly is inside an SRT file, how does it work, and when should you use it over other formats? This guide covers everything you need to know.
What Is an SRT File?
SRT stands for SubRip Text. It is a plain text file format that stores subtitle information: the text of each caption, when it should appear, and when it should disappear. SRT files were originally created for SubRip, a program that extracted subtitles from DVDs, but they have since become the universal standard for subtitles across virtually all platforms.
An SRT file is just a text file with a .srt extension. You can open it in any text editor — Notepad, TextEdit, VS Code, or even a web browser. There is no special software required to view or edit one.
Structure of an SRT File
Every SRT file follows the same simple structure. Each subtitle entry consists of three parts:
- A sequence number — starting at 1 and counting up
- A timestamp line — showing the start and end time in the format
HH:MM:SS,mmm --> HH:MM:SS,mmm - The subtitle text — one or two lines of text to display
Each entry is separated by a blank line. Here is an example of what an SRT file looks like:
1
00:00:01,000 --> 00:00:04,000
Welcome to this tutorial on
adding captions to your videos.
2
00:00:04,500 --> 00:00:07,800
Today we will cover everything
you need to know.
3
00:00:08,200 --> 00:00:12,000
Let's start with why captions
matter for your audience.
That is all there is to it. The format is intentionally simple, which is part of why it has become so widely adopted. Anyone can create or edit an SRT file by hand if needed.
Timestamps Explained
The timestamp format uses hours, minutes, seconds, and milliseconds, separated by colons and a comma: HH:MM:SS,mmm. The arrow --> separates the start time from the end time. Note that SRT uses a comma before the milliseconds, not a period. This is a common source of errors when creating SRT files manually.
Other Subtitle Formats
While SRT is the most common format, several alternatives exist, each with different features:
WebVTT (.vtt)
WebVTT stands for Web Video Text Tracks. It is the standard subtitle format for HTML5 video on the web. VTT is very similar to SRT with a few key differences: it uses a period instead of a comma for milliseconds, it starts with a WEBVTT header line, and it supports additional styling features like text positioning, font color, and alignment using CSS-like syntax. YouTube, for example, supports both SRT and VTT uploads.
ASS / SSA (.ass / .ssa)
ASS (Advanced SubStation Alpha) and its predecessor SSA (SubStation Alpha) are more advanced subtitle formats commonly used in anime fansubs and complex subtitle work. These formats support rich styling including custom fonts, colors, positioning, animations, and even karaoke effects. They are significantly more complex than SRT and are typically edited using specialized software like Aegisub. Most social media platforms do not support ASS or SSA files directly.
TTML (.ttml / .xml)
Timed Text Markup Language is an XML-based subtitle format used primarily in broadcasting and streaming services. Netflix, for example, uses a variant of TTML for its subtitles. TTML supports detailed styling and positioning but is more complex than SRT and is rarely used by individual content creators.
When to Use Which Format
For most creators, the choice comes down to SRT or VTT:
- Use SRT when uploading subtitles to YouTube, Vimeo, Facebook, or most other platforms. It is the most universally supported format.
- Use VTT when embedding subtitles in a web page using the HTML5
<video>element, as it is the native format for web browsers. - Use ASS only if you need advanced styling like custom animations or complex positioning that SRT and VTT cannot achieve.
- Use TTML only if a platform specifically requires it, such as certain broadcast or streaming workflows.
How to Create SRT Files
There are several ways to create an SRT file:
Manually. Open any text editor, type your subtitles following the format shown above, and save the file with a .srt extension. This is practical for very short videos but becomes tedious for longer content.
Using a caption generator. The fastest approach is to use a tool that automatically transcribes your audio and generates timed captions. A free browser-based tool like Clipsy can generate captions from your video's audio in seconds. You can then edit the results and export as a subtitle file or burn the captions directly into the video.
Using video editing software. Professional video editors like Adobe Premiere Pro and DaVinci Resolve have built-in subtitle editors that can export to SRT format. These work well if you are already editing your video in that software.
Burning In vs. Uploading Subtitle Files
There are two fundamentally different ways to add subtitles to a video, and it is important to understand when to use each:
Burning in (hardcoding) means embedding the subtitle text permanently into the video frames. The text becomes part of the video itself and cannot be turned off. This is the standard approach for social media platforms like TikTok, Instagram Reels, and LinkedIn, where subtitle file uploads are either not supported or inconsistently displayed.
Uploading a subtitle file means attaching a separate SRT or VTT file to your video on a platform that supports it. The viewer can then choose to turn captions on or off. YouTube, Vimeo, and Facebook all support subtitle file uploads. This approach is better for accessibility because viewers can customize the caption appearance to their preferences.
For the best results, consider doing both: burn captions into your video for social media platforms, and also upload an SRT file where the platform supports it. This gives you maximum reach and accessibility.
Add captions to your videos in seconds — free, no sign-up.
Try Clipsy Free