Creator media glossary

What is a VTT file?

Updated 3 sources

Short answer

A WebVTT subtitle file (.vtt): a plain-text caption format that starts with the word WEBVTT and can also say where each caption sits on screen.

Key takeaways

  • A VTT (WebVTT) file is a plain-text caption file that starts with WEBVTT.
  • It adds positioning, styling and speaker tags to what SRT does.
  • Browsers, HLS streaming and YouTube use it; the MIME type is text/vtt.
  • Converting between VTT and SRT is mostly a matter of the header and timestamp punctuation.

VTT file explained

WebVTT (Web Video Text Tracks) is the caption format browsers use with the HTML video element. A file begins with the line WEBVTT, followed by cues: an optional name, a timing line such as 00:01.000 --> 00:04.000 (a full stop before the milliseconds, hours optional) and the text.

Compared with SRT, a VTT cue can carry settings for line, position, size and alignment, plus simple bold, italic and underline. YouTube, for example, keeps VTT positioning but only bold, italic and underline styling; the extra control matters when captions must move away from on-screen text or the app interface.

Where WebVTT came from

WebVTT began in 2010 as WebSRT, a proposal by the WHATWG to give HTML5 video a native caption format based on SRT. It was renamed Web Video Text Tracks, gained positioning and styling, and is maintained by the W3C. It is the caption format of the HTML <track> element, of HLS streaming and of most web video players.

Parts of a VTT file

BlockWhat it does
WEBVTT headerRequired first line; may be followed by a title
CueOptional identifier, timing line (00:00.000 --> 00:04.000), optional settings, then text
NOTEComments for editors; never shown
STYLECSS rules for ::cue, such as color or font, applied by browsers
REGIONNamed areas of the screen that cues can scroll in, for roll-up captions

Text markup inside cues

  • <b>, <i> and <u> for bold, italic and underline.
  • <v Speaker Name> to mark who is speaking, which players can show or style.
  • <c.classname> to apply a STYLE class, and <lang> for a different language.
  • Timestamps inside a cue, such as <00:00:02.500>, for karaoke-style word highlighting.

VTT cue settings

Settings follow the timing on the same line, separated by spaces, for example 00:05.000 --> 00:09.000 line:0 position:20% size:60% align:start.

SettingWhat it does
lineVertical position: a line number or a percentage of the frame
positionHorizontal position of the cue box, as a percentage
sizeWidth of the cue box, as a percentage
alignText alignment inside the box: start, center, end, left or right
verticalVertical text, written right-to-left (rl) or left-to-right (lr)

How to use a VTT file

  • On a website: <track kind="captions" src="captions.vtt" srclang="en" label="English" default> inside the <video> element; the server should send it as text/vtt.
  • On YouTube: upload it as a caption file; positioning is kept, styling limited to bold, italic and underline.
  • In a player: VLC and most browsers open VTT alongside the video.
  • In an editor: open it in any text editor; save as UTF-8.

Free tools:VTT caption guide by platformSRT vs VTT

How to convert VTT to SRT

  • Delete the WEBVTT header and any NOTE, STYLE or REGION blocks.
  • Number the cues 1, 2, 3 and so on.
  • Change the full stop before the milliseconds to a comma, and add hours if missing (00:01.000 becomes 00:00:01,000).
  • Remove cue settings after the timing and any tags SRT players do not understand, such as <v>.

Frequently asked questions

What is a VTT file?

A WebVTT (Web Video Text Tracks) caption file: plain text, MIME type text/vtt, that browsers and many platforms use to show timed captions over a video.

What does a VTT file look like?

The first line is WEBVTT. Each cue has an optional name, a timing line such as 00:01.000 --> 00:04.000 (hours are optional and a full stop comes before the milliseconds), optional settings, then the caption text.

What is the difference between VTT and SRT?

Both store timed captions as text. VTT adds the WEBVTT header, uses full stops in timestamps and supports cue settings for line, position, size and alignment; SRT has numbered cues, commas in timestamps and no positioning.

Does YouTube accept VTT files?

Yes. YouTube supports positioning in VTT files, while styling is limited to bold, italic and underline.

What does VTT stand for?

Video Text Tracks, from WebVTT, the Web Video Text Tracks format.

Is VTT better than SRT?

For the web, yes: it can position and style captions and is what browsers and HLS use. For maximum compatibility with editors and upload forms, SRT is simpler and more widely accepted.

Let Koldflux pick the settings

Koldflux chooses the codec, container and bitrate for each platform when it exports.

Check a file

Free tools that use this

Sources and how we checked

  1. MDN: Web Video Text Tracks Format (WebVTT) (checked 2026-10-05)
  2. YouTube Help: Supported subtitle and closed caption files (checked 2026-10-05)
  3. W3C: WebVTT: The Web Video Text Tracks Format (checked 2026-10-06)

Reviewed October 6, 2026 by the Koldflux team. Definitions follow the specifications and platform documentation linked above; platform tables come from the same registry the Koldflux tools use.