What is WebVTT?

WebVTT (Web Video Text Tracks) is the subtitle and caption format defined by the W3C for use with HTML5 video. It is what the <track> element uses for captions. If you are publishing video on the web and want the browser to handle subtitle rendering natively, WebVTT is what you need.

History

WebVTT was introduced around 2010 alongside the HTML5 <track> element. The original goal was to standardise a lightweight format that browsers could parse without a JavaScript library. Before WebVTT, web video players used SRT — but SRT was not designed for the web and did not support the features a web player needed (styling, positioning, chapters).

WebVTT was proposed by Google, based on the earlier SubRip format, and standardized by the W3C in 2019 as the WebVTT specification.

Structure

WEBVTT

1
00:00:01.000 --> 00:00:04.000
Hello and welcome.

2
00:00:05.500 --> 00:00:08.750
This is a WebVTT file.

The key differences from SRT:

Features that SRT does not have

Browser support

WebVTT is natively supported by every modern browser: Chrome, Firefox, Safari, Edge. When you use <track kind="captions" src="file.vtt">, the browser parses the VTT file and renders cues over the video.

SRT is not natively supported by <track>. To use SRT in HTML5 video, you must either convert it to WebVTT or use a JavaScript player (like Video.js or Plyr) that handles the parsing.

When to use WebVTT

When to use SRT instead

Converting between formats

SRT → VTT: SRT to VTT Converter. Adds the header, changes comma to period, preserves dialogue.

VTT → SRT: VTT to SRT Converter. Removes the header, changes period to comma, renumbers cues, drops unsupported VTT features.

Common mistakes

Further reading