SRT vs VTT: which subtitle format to use
Subtitles are text files that hold the words to be shown on screen and the times at which each line should appear. SRT and VTT are the two formats you will meet most often. They look similar, but they are not interchangeable: a small difference in the timestamp and a single header line decide whether a player shows your captions or ignores them. This guide compares the two formats, shows an example of each and explains how to choose and how to check the result with the Video Transcriber on Valtrinity.
What a subtitle file holds
Both formats are plain text. Each subtitle cue has a start time, an end time and one or more lines of text. The player reads the file and shows each cue at the right moment. Because the files are plain text, you can open and edit them in any text editor, and a small mistake in a timestamp is easy to spot.
Neither format contains the video itself. The subtitle file sits alongside the video, and the player or platform matches the two.
- Cues have a start time, an end time and text.
- The file is plain text and can be edited.
- The video is separate from the subtitle file.
SRT: simple and widely accepted
SRT, short for SubRip, is the most common subtitle format and the one most players and platforms accept. Each cue is numbered, followed by a timestamp line and the text, with a blank line between cues. Timestamps use hours, minutes, seconds and milliseconds separated by a comma, such as 00:01:02,500. SRT has no built-in styling, so colours, fonts and positions are left to the player.
- Numbered cues with a blank line between them.
- Timestamps use a comma: 00:01:02,500.
- No built-in styling or positioning.
VTT: web-friendly and more capable
WebVTT, usually shortened to VTT, was designed for the web and is used by HTML5 video. The file must start with the word WEBVTT on its own line. Timestamps use a full stop instead of a comma, such as 00:01:02.500. VTT also supports styling, positioning and metadata, so a caption can be placed at the top of the frame or shown in a different colour. Cue numbers are optional.
- The first line must be WEBVTT.
- Timestamps use a full stop: 00:01:02.500.
- Supports styling, positioning and metadata.
Side by side: the same cue in both formats
Worked example. A single line that appears from one minute two and a half seconds to one minute five seconds reads like this in SRT:
1, then 00:01:02,500 --> 00:01:05,000, then the words on the screen, then a blank line.
In VTT the same cue reads: a line saying WEBVTT at the top, a blank line, then 00:01:02.500 --> 00:01:05.000, then the words, then a blank line. The only differences are the header line and the full stops, but a player will reject a VTT file with the wrong header or an SRT file with full stops.
- SRT: comma in the timestamp, no header.
- VTT: full stop in the timestamp, WEBVTT header.
Which players and platforms accept which
Most video players and video hosting platforms accept SRT, which makes it the most practical choice when you do not know where the video will go. HTML5 video on a website works with VTT, and many players accept both. Some platforms convert one format to the other on upload, but that conversion can drop styling, so check the result after upload rather than assuming the file is shown as you intended.
- SRT: the widest acceptance across players and platforms.
- VTT: the natural choice for HTML5 video on a website.
- Check the result after upload, because conversions can drop styling.
How to choose
Choose SRT when you are unsure, when a platform asks for it or when you only need plain captions. Choose VTT when you are putting the video on a web page and want styling or positioning, or when your developer asks for it. Many workflows export both, so you can upload the one each destination needs without converting it yourself.
- Choose SRT for plain captions and wide compatibility.
- Choose VTT for web pages and styling.
- Export both when you do not know the destination.
Export and check with the Video Transcriber
The Video Transcriber on Valtrinity lets you upload your own audio or video file, produce a transcript with timestamps and export it as TXT, SRT or VTT. Open the exported file in a text editor and check the first lines. An SRT file starts with the number 1, and a VTT file starts with WEBVTT. Then play the video with the subtitles on to check the timing.
- Export SRT or VTT from the Video Transcriber.
- Check the first lines match the format.
- Play the video to check the timing.
Tools mentioned in this guide
Video Transcriber
Upload a video or audio file and get a timestamped transcript, with TXT, SRT and VTT downloads.
TextWord Counter
Count words, characters, sentences and reading time as you type.
Create & convertText to Speech
Read text aloud in the voice, speed, pitch and volume you choose.
Frequently asked questions
Can I convert SRT to VTT myself?
Yes, the changes are small: add a WEBVTT header line, leave a blank line after it and change the commas in the timestamps to full stops. Check the result carefully, because a single mistake will stop the file working.
Which format should I use for video platform uploads?
Most video platforms accept SRT, so SRT is the usual first choice for uploads. If the platform asks for a different format, use the one it lists rather than guessing.
Does VTT support colours and fonts?
VTT supports styling and positioning, although how much a player honours depends on the player. SRT has no built-in styling, so colours and fonts come from the player settings.
Why did my subtitles not show up?
The most common causes are a wrong header in a VTT file, full stops instead of commas in an SRT file, or a file name that does not match the video in the way the player expects. Check the first lines and the timestamps first.