← Back to blog

What Is a VTT File? WebVTT Captions Explained

A VTT file is a WebVTT caption file used by HTML5 video players to display timed text in the browser. It looks similar to SRT, but WebVTT adds a required header, browser-oriented cue settings, comments, and optional styling hooks that make it better suited for web video.

Need to move between VTT and SRT? Convert VTT to SRT for editors and players, or convert SRT to VTT for browser captions.

Basic WebVTT Structure

A valid VTT file starts with the WEBVTT header. Each cue then uses dot-based timestamps and visible caption text.

WEBVTT

00:00:01.000 --> 00:00:04.500
Welcome to the tutorial.

00:00:05.200 --> 00:00:08.800 align:center position:50%
Open the file menu.
  • Header:VTT requires a WEBVTT header. SRT does not have one.
  • Timestamps:VTT uses dots before milliseconds, such as 00:00:01.000.
  • Cue settings:Settings such as align, line, size, and position can tell the browser how to place a cue.

When Should You Use VTT?

Use VTT when the subtitle file is meant for a website, a course platform, or any HTML5 video workflow. The browser <track> element expects WebVTT, not SRT. This is why an SRT file often needs to be converted before it can power native browser captions.

Use SRT when you need maximum compatibility with desktop media players, subtitle editors, video editors, and transcription tools. VTT is the better web delivery format; SRT is still the better interchange format for many editing workflows.

VTT vs SRT at a Glance

FeatureVTTSRT
Browser videoNative supportNeeds conversion
HeaderWEBVTT requiredNo header
MillisecondsDotComma
Cue placementSupports cue settingsMinimal placement control

Format References