CueSift取幕
WebVTT format guide

What Is a VTT File? WebVTT Format, Example, and Uses

A VTT file is a plain-text WebVTT track that pairs timed text with audio or video. This guide explains its header, cue timestamps, identifiers and settings, then lets you download the exact track loaded by the live HTML video below.

Published: August 11, 2026Last verified: August 11, 2026

Short answer

A VTT file is a plain-text WebVTT file that maps text or metadata to specific moments in audio or video. A subtitle cue normally has a start time, end time, and payload; it can also have an identifier and settings for position, line, size, or alignment.

On the web, an HTML track element can load the .vtt file beside a separate video or audio source. Use VTT when the destination supports WebVTT or needs web-oriented text-track features; use SRT when a simpler interchange file is the better fit.

Try CueSift with a public link

Editorial owner: CueSift. We checked the format claims against the current W3C specification, MDN, and YouTube documentation. The downloadable four-cue VTT is original and passes the repository's structural test. Browser QA confirmed that the live track reached the loaded state, was showing, and rendered cue text over the video. The MDN CC0 video supplies only a media timeline; the cue text is a format demonstration, not a transcript of that video.

VTT file quick facts

A VTT is a small companion file, not a media container. Its structured text tells a compatible destination which track content belongs to which playback interval.

Full nameWeb Video Text Tracks (WebVTT)
File extension.vtt
File typePlain text
Required openingWEBVTT
Common timestampHH:MM:SS.mmm --> HH:MM:SS.mmm
Common usesSubtitles, captions, descriptions, chapters, and timed metadata
HTML connection<track src="captions.vtt">

What does a VTT file look like?

The file begins with WEBVTT. A blank line separates the header from later blocks and separates one cue from the next. This excerpt includes a NOTE block, an optional cue identifier, a timing line, three cue settings, and the visible payload.

WEBVTT

NOTE
This original CueSift file demonstrates WebVTT structure.

cue-three
00:00:03.200 --> 00:00:04.200 line:80% position:50% align:center
A cue may have an optional identifier and settings.

Try the live WebVTT track

The video element below requests the same four-cue file offered for download. Turn captions on if your browser does not show the default track, then play or scrub between 1 and 6 seconds to see the demonstration cues.

Download the exact VTT track

A repository test checks the header, four cue blocks, timestamp pattern, text, and forward time ranges.

Browser QA confirmed one text track loaded in showing mode and rendered its cue text over the video.

The video is MDN's CC0 sample and supplies only the playback timeline. CueSift wrote the WebVTT track to demonstrate syntax; its text is intentionally not a transcript of the video.

How HTML loads a VTT track

Place track inside video or audio and point src to the VTT resource. The kind describes its role, srclang identifies its language, label gives viewers a readable name, and default asks the browser to enable that track when user preferences do not select another one.

<video controls>
  <source src="video.mp4" type="video/mp4" />
  <track
    default
    kind="subtitles"
    src="captions.vtt"
    srclang="en"
    label="English"
  />
</video>

A correct tag does not override network, MIME type, cross-origin, or browser-policy problems. Check the VTT request and the final text-track behavior in the deployed environment.

What WebVTT cue settings do

Settings follow the end timestamp on the timing line. They express layout requests, but the final result still depends on the rendering environment and available space.

line

Requests a vertical line or position.

position

Requests a horizontal position.

size

Sets the cue box width as a percentage.

align

Aligns text within the cue box.

VTT vs SRT at a glance

The formats share a cue-based idea, but their syntax and feature models differ. Choose according to the destination instead of renaming the file.

FeatureSRTWebVTT
Opening lineNo required headerWEBVTT
Milliseconds00:00:03,70000:00:03.700
Cue labelsNormally sequence numbersOptional identifiers
PositioningNot reliably portableDefined cue settings
Typical fitSimple subtitle interchangeWeb media text tracks

Need a workflow-level decision? Read the complete SRT vs VTT guide.

How to open and use a VTT file

Use a text editor to inspect source, a browser or compatible player to test timing, and the destination's documented import workflow to publish it. Keep the original before making changes.

  1. 1

    Confirm the destination

    Verify that it accepts WebVTT and note any track kind, language, filename, or styling limits.

  2. 2

    Inspect the plain text

    Check the WEBVTT header, blank separators, timestamps, identifiers, settings, and readable UTF-8 text.

  3. 3

    Pair it with the matching media

    Load the track beside the exact video cut or import it through the platform's caption workflow.

  4. 4

    Test beginning, middle, and end

    Look for a fixed offset, growing drift, overlap, clipped lines, or settings that render differently than expected.

  5. 5

    Keep a portable fallback

    If the destination ignores advanced layout, retain a clean text-and-timing version that preserves the essential content.

Common VTT problems

Missing WEBVTT header

Put WEBVTT at the beginning and keep the required line separation before cues.

SRT comma timestamps

WebVTT uses a period before milliseconds, such as 00:00:03.700.

Malformed timing arrow

Preserve the exact space-arrow-space pattern between start and end times.

Track never loads

Inspect the src URL, response status, MIME type, and cross-origin behavior.

Wrong language or label

Set srclang and label so users can identify the correct track.

Layout differs by destination

Test cue settings in the final player and avoid treating one rendering as universal.

Platform support can be narrower than the WebVTT specification. For example, YouTube currently accepts WebVTT positioning but describes styling support as limited.

Frequently asked questions

What does VTT stand for?

VTT commonly refers to WebVTT, short for Web Video Text Tracks. The specification defines timed text tracks associated with media, including subtitles, captions, descriptions, chapters, and metadata.

Does a VTT file contain video or audio?

No. It stores timed text and optional cue information. The media remains a separate file or stream, and a browser, player, editor, or platform combines the two.

Can I open a VTT file in a text editor?

Yes. VTT is plain text. Use a plain-text editor to inspect or change it, preserve the WEBVTT header and cue separators, save as UTF-8, and test the result in the final destination.

Can I rename an SRT file to .vtt?

Renaming alone does not convert the syntax. A basic conversion needs the WEBVTT header and periods rather than commas before milliseconds; styling and position data require separate review.

Does YouTube accept WebVTT files?

YouTube currently lists WebVTT as a supported caption format. Its help page says positioning is supported but styling support is limited, so verify current requirements before uploading.