StemVocalPricing

What is a VTT file?

A VTT file, short for WebVTT, is a plain-text list of timed captions that web video players show alongside a video.

Open Subtitle Generator

What is inside a VTT file

WebVTT is a plain-text format for timed text that plays with video and audio on the web. A file has the .vtt extension and the text/vtt media type, and it must be saved as UTF-8. Here is a complete, valid file with two cues:

WEBVTT

00:00:01.000 --> 00:00:04.200
Welcome back to the workshop.

00:00:04.200 --> 00:00:07.500
Today we are fixing subtitle timing.

The parts, in order:

Cues may overlap, for example to show two speakers at once. Comment blocks start with NOTE and are ignored by players.

Styling and positioning

WebVTT can do more than plain subtitles. Cue settings after the timing line place the text: line sets the vertical position, position and size set the horizontal position and width as percentages, align sets alignment, and vertical turns text vertical for some Asian languages. This timing line puts a cue near the top, on the left:

00:05.000 --> 00:09.000 line:0 position:20% size:60% align:start

Inside the text, a few tags mark up words: <i> for italics, <b> for bold, <u> for underline, <c.name> for a CSS class, and <v Bob> to mark who is speaking. STYLE blocks near the top of the file style the cues with the ::cue selector. Because tags start with <, the text itself cannot contain <, & or the arrow -->. Write them as character references instead: an ampersand followed by lt; for <, and by amp; for &.

How to open and use a VTT file

To read or edit it, open it in any plain-text editor. Keep the WEBVTT line, keep one blank line between cues, and save it as UTF-8 with the .vtt extension.

On a web page, a <track> element inside the <video> element attaches it. Its kind says how the text is meant to be used: subtitles (the default) for dialogue, captions for dialogue plus sounds and music cues, descriptions, chapters or metadata. A subtitles track also needs srclang, the language of the text, such as en. The file normally has to come from the same site as the page; a caption file on another domain needs cross-origin permission.

In video players and editors, look for an option to add or import a subtitle or caption track and choose the file. Many tools accept both VTT and SRT.

VTT vs SRT

VTT SRT
First line WEBVTT The first cue's number
Cue numbers Optional identifiers Required, counting up from 1
Time format 00:00:01.000, period before milliseconds 00:00:01,000, comma before milliseconds
Hours in times Optional Always written
Positioning and styling Cue settings, STYLE blocks, speaker tags A few tags such as bold and italic, where the player supports them
Text encoding UTF-8 required No standard; UTF-8 is the safe choice
Typical use Web video players Video editors and upload forms

To turn an SRT file into VTT by hand, add WEBVTT and a blank line at the top, and change the comma before the milliseconds to a period in every timing line. The SRT cue numbers can stay; WebVTT reads them as identifiers. For the SRT side of the table, see what is an SRT file.

Make a VTT file from a video

  1. Open the subtitle generator and choose the video, or an audio file.
  2. Check the captions over the picture, click any word to hear it, and fix names and misheard words.
  3. Choose VTT in the export menu and download.

StemVocal's VTT files start with WEBVTT, write every time with hours and milliseconds, and leave out cue numbers and speaker names. Each cue lasts at most 6 seconds, holds at most 80 characters, splits into two balanced lines when it runs past 42, and never overlaps the next. Recordings up to 30 minutes are free, with 2 free StemVocal jobs each UTC day; longer files, up to 3 hours, use credits.

Already have a VTT file? If every caption is early or late by the same amount, the subtitle timing tool shifts every cue and keeps the file's format. To change the language, the subtitle translator translates it and can download the result as VTT or SRT.

When captions do not appear

Sources: MDN Web Docs, "Web Video Text Tracks Format (WebVTT)" and "The Embed Text Track element"; Library of Congress, "SubRip Subtitle format (SRT)". Checked October 11, 2026.

Good to know

How do I open a VTT file?

Any text editor opens it, because it is plain text. Video players and editors that support WebVTT load it as a subtitle track, and on a web page the track element attaches it to a video.

What is the difference between VTT and SRT?

Both hold timed text. A VTT file starts with WEBVTT, uses a period before the milliseconds and supports positioning and styling. An SRT file numbers every cue and uses a comma before the milliseconds.

How do I make a VTT file from a video?

Upload the video to the subtitle generator, correct the words, choose VTT in the export menu and download it. Recordings up to 30 minutes are free, with 2 free StemVocal jobs a day.

Can I translate a VTT file?

Yes. The subtitle translator translates SRT and VTT files between English and 15 languages and keeps every cue's timing. It is machine translation, so review it before you publish.

Why don't my VTT captions show?

Check that the first line is WEBVTT, that every timing line uses a period before the milliseconds, that no blank line splits a cue, and that the file is saved as UTF-8. On a web page, a caption file on another domain also needs cross-origin permission.