Skip to content

WebVTT File Format (.vtt)

A VTT file is a WebVTT text track: a WEBVTT header followed by timed cues, each with a start and end timecode and one or more lines of text, optionally carrying position, size and CSS-style settings that place and format the text on screen.

.vttSubtitles

WebVTT at a glance#

Full nameWeb Video Text Tracks
File extension.vtt
CategorySubtitles
DeveloperWorld Wide Web Consortium (W3C)
First released2010
MIME typestext/vtt
CompressionUncompressed
SpecificationWebVTT: The Web Video Text Tracks Format
FileFlip supportFileFlip reads and writes this format

What a .vtt file can hold#

These are the things a WebVTT file either supports or does not, and they are what decides whether a conversion keeps everything or quietly drops something.

Selectable textYes
Human readableYes

Strengths and limitations of WebVTT#

What WebVTT does well

  • Reads natively in every modern browser through the HTML5 <track> element, with no plugin or conversion needed
  • Cue position, alignment and size settings place captions anywhere in the video frame, not just at the bottom
  • Style blocks and cue classes apply CSS-like formatting from inside the subtitle file itself
  • Close enough to SRT's cue syntax that converting between the two is close to lossless

Where WebVTT falls short

  • Positioning, regions and style blocks are dropped by any player or format that only understands plain captions
  • Less universal outside the browser than SRT, since many desktop and mobile players still default to it instead
  • Scrolling regions and voice tags are implemented unevenly across browsers

Use WebVTT for subtitles served to an HTML5 <video> element, where the browser reads the track natively and honors its cue positioning and styling.

Convert WebVTT to SRT when the destination is a player or device outside the browser that only expects plain, unpositioned captions.

How to open a .vtt file#

A .vtt file opens in the programs below, grouped by the platform you are on. If you would rather not install anything, FileFlip converts WebVTT into a format your machine already opens, and it does it in the browser tab rather than on a server.

PlatformPrograms that open it
WindowsVLC, Subtitle Edit, Any web browser
macOSVLC, Any web browser, Subtitles
LinuxVLC, mpv, Any web browser
iOSVLC, Safari
AndroidVLC, Chrome
WebFileFlip

WebVTT questions people ask#

What is a WebVTT file used for?

A WebVTT file supplies the captions or subtitles for an HTML5 video, loaded through the <track> element so the browser displays them without any extra plugin. It's the format browsers expect natively, the way SRT is the format most desktop players expect.

Does a browser play VTT files directly?

Yes. WebVTT is the W3C's caption format built specifically for HTML5 video, so any modern browser renders a .vtt track on its own once it's referenced by a <track> tag, including any cue positioning or styling the file specifies.

What's the difference between SRT and VTT?

WebVTT starts with a WEBVTT header and adds cue positioning, sizing and CSS-style formatting on top of the same start/end-timecode-plus-text structure SRT uses. Converting SRT to VTT is close to lossless; converting VTT to SRT drops any positioning or styling the cues carry.

Can WebVTT position captions anywhere on screen?

Yes. WebVTT cues accept line, position, size and alignment settings that place text at a specific spot in the video frame, rather than always at the bottom center. Region blocks add scrolling captions on top of that.

Does WebVTT timing break if the video frame rate changes?

No. WebVTT times cues in minutes:seconds.milliseconds against the clock, not against a frame count, so it keeps sync with the video regardless of its frame rate. Frame-based formats like MicroDVD's .sub are the ones that drift when the frame rate changes.

Converting WebVTT files#

Every conversion runs inside your browser. The file is read from your disk, the work happens on your own machine, and nothing is uploaded. How FileFlip works names the engine behind each family and how to verify that for yourself.