Skip to main content

Blog

What Is an SRT File? SRT vs VTT Explained

Author: Published: Last reviewed:

An SRT file is a plain-text subtitle file: numbered cues, each with a start and end time and a line or two of caption text. A VTT file holds the same kind of timed text in the WebVTT format, which the HTML5 video element reads natively. “SRT vs VTT” usually comes up at the moment a caption file refuses to load somewhere it is supposed to work. The Library of Congress documents SubRip’s SRT structure, and the W3C defines WebVTT for web media. Hushscript’s subtitle generator exports both, so the choice comes down to the destination, not transcription accuracy.

Key takeaways

What is an SRT file?

An SRT file (.srt, short for SubRip Text) is about as plain as a caption format gets. The SRT format is a sequence of blocks: a sequence number, a timestamp range written with a comma before the milliseconds (00:00:01,000 --> 00:00:04,000), and the caption text, with a blank line separating each entry. No header, no metadata, nothing but the captions themselves. That simplicity is why SRT files open in almost anything, and it is the whole SRT file meaning in practice: a plain-text list of timed captions. There is very little for a player to misinterpret.

1
00:00:01,000 --> 00:00:04,000
Welcome back to the show.

2
00:00:04,500 --> 00:00:07,200
Today we are talking about subtitles.

What is a VTT file?

A VTT file (.vtt) is a WebVTT subtitle file. The VTT format starts with a required header line, since the file has to open with WEBVTT or it isn’t valid, and its timestamps use a period instead of a comma (00:00:01.000 --> 00:00:04.000). Past that, it supports things SRT has no place for: cue settings that position text on screen, alignment, and basic styling markup inside the caption text itself. VTT is the format the HTML5 video standard’s caption track element expects natively. That is not a stylistic choice some sites made; it’s what the underlying web technology is built around. VTT files are plain text too, and “VTT” in a subtitle context is shorthand for WebVTT.

WEBVTT

00:00:01.000 --> 00:00:04.000
Welcome back to the show.

00:00:04.500 --> 00:00:07.200
Today we are talking about subtitles.

SRT vs VTT at a glance

SRT VTT
File extension .srt .vtt
Full name SubRip Text WebVTT
Header required No Yes, file must open with WEBVTT
Timestamp separator Comma (,) Period (.)
Styling or positioning None Cue settings, basic markup
Built for General playback and editing HTML5 web embeds

What is the difference between SRT and VTT?

For ordinary captions there is almost none. Both carry the same timing and text. The difference between SRT and VTT is the packaging: VTT needs the WEBVTT header, swaps the comma for a period in timestamps, and allows cue settings that SRT can’t store. In practice, the question is which one your destination accepts, and that is covered next.

Where each one is actually expected

SRT is the safe general-purpose choice: desktop and mobile players like VLC, video editors like Premiere Pro and DaVinci Resolve, and most handoffs to someone else all expect it or accept it without complaint. VTT is specifically for embedding captions in a web page’s video element. Point a browser’s native HTML5 <track> element at an SRT file and it shows nothing; the same element reads VTT natively, which is why a web embed wants VTT. Some web players also accept SRT, but VTT is the one built for the job. If you don’t know yet where a caption file is going to end up, SRT is the safer default. You can always convert to VTT the moment you know it’s headed to a web embed.

Styling: what VTT can do that SRT can’t

Because SRT is just sequence numbers, timestamps, and plain text, it has no standard styling: no positioning and no CSS-style formatting. Basic tags such as <b> and <i>, and sometimes <font>, are widely supported by players, but that support varies from player to player. VTT’s cue settings add basic positioning and simple markup on top of the same timing structure. Neither one goes as far as a dedicated styled-subtitle format built specifically for fonts, colors, and on-screen placement. If a job needs that level of control, that’s a separate format one step up from either SRT or VTT. In practice, most editors and general-purpose players ignore VTT’s styling extras and just read the timing and text, so the gap mainly matters for browser-based playback, not for a routine editor round-trip.

How to open an SRT or VTT file

Both formats are plain text, so any text editor opens them and shows the cues as written. To see them as captions, load the file in a video player or editor next to the video. VLC and most desktop players pick up an SRT that shares the video’s name and folder. For web pages, point a <track> element at the VTT file. If a caption file won’t load, check the basics first: the right extension, the WEBVTT header on a VTT file, and a comma in SRT timestamps.

Convert SRT to VTT, or VTT to SRT, for free

Already have an SRT and need VTT for a web embed, or the reverse? The free, browser-based SRT to VTT converter swaps between the two directly: drop the file, pick the output format, download. No account, nothing uploaded to a server. If the file you’re holding is in ASS, TTML, or SBV instead, the broader subtitle converter covers those formats in the same tool.

A worked example

A creator exports SRT captions from a recorded video through Hushscript’s subtitle generator, planning to use them on social platforms. Partway through the project, the same episode also needs to go up as a native HTML5 embed on their own website, where that player only reads VTT. Instead of retranscribing anything, the SRT file goes through the free converter and comes back as VTT in a few seconds, same timing and text, ready for the embed. One transcript, two caption files, no second transcription job.

Create an SRT or VTT file from audio or video

If you’re starting from audio or video rather than an existing caption file, the subtitle generator transcribes, times, and speaker-labels the captions, then exports SRT, VTT, or any of the other formats directly, so there’s no separate conversion step. Full transcription needs an account and enough available minutes; eligible personal accounts get 30 free minutes once, after card verification or with the first purchase. For the step-by-step version, read how to create an SRT file from a video.

Independent sources and standards

Hushscript consulted these independent, non-competing references. They explain research, standards, or platform behavior and do not endorse Hushscript.

Sources reviewed:

Frequently asked questions

What is an SRT file?

An SRT file is a plain-text subtitle file in the SubRip format. It holds numbered cues, each with a start and end time and the caption text, and it uses the .srt extension. Most video players and editors can load one alongside a video.

What are SRT files and VTT files?

Both are plain-text subtitle files. SRT files (.srt) list numbered cues with comma-style timestamps. VTT files (.vtt) hold WebVTT captions, start with a WEBVTT header, and use periods in timestamps. The meaning of VTT in this context is WebVTT, the web caption format.

What is a VTT file?

A VTT file is a subtitle file in the WebVTT format, with the .vtt extension. It starts with a WEBVTT header and is the caption format that the HTML5 video track element reads natively, so it is the usual choice for video on web pages.

What does SRT stand for?

SRT stands for SubRip Text, after the SubRip program. That is the SRT file meaning in a subtitle context: 'SRT' and 'SRT subtitles' both mean captions stored in that format. SRT files are plain text, one numbered cue after another.

What is the difference between SRT and VTT?

Both carry timed text. SRT has no header and puts a comma before the milliseconds. VTT must open with a WEBVTT line, uses a period before the milliseconds, and adds optional cue settings for position and basic styling. SRT is the general-purpose default; VTT is built for web video.

Which one should I use if I'm not sure?

SRT, because it opens in the widest range of players and editors. Switch to VTT specifically when you're embedding captions in an HTML5 web player.

How do I open an SRT or VTT file?

Open it in any plain-text editor to read or edit it, or load it in a video player next to the video. Both formats are plain text, so nothing special is needed to read them.

Can I convert SRT to VTT and back without losing anything?

For ordinary captions, yes: the timing and text carry over. Extras such as cue identifiers, positioning and CSS-style formatting may not, because SRT has no standard place for them. Check the converted file if your source uses them.

Is converting between SRT and VTT really free?

Yes. The SRT to VTT converter runs in your browser, with no account and nothing uploaded to a server.

Does Hushscript's subtitle generator produce both formats?

Yes. SRT and VTT are both included, alongside ASS, TTML, SBV, and LRC, as part of the same export set every transcript gets. No separate fee for either one.

Why do web players specifically expect VTT?

Because VTT is the format built into the HTML5 video standard's caption track element. It's not a preference some sites have; it's what the underlying web technology expects natively.

Start with 30 free minutes

Preview up to 5 minutes before you create an account, and a new personal account gets a free preview of its first upload in the app. Full transcription needs an account and minutes; eligible personal accounts get 30 free minutes once, after card verification or with a first purchase. No subscription.

Get 30 free minutes