A VTT file is a text document that tells video players where and when to display captions or subtitles

VTT stands for WebVTT (Web Video Text Tracks). It is a plain text file that contains captions or subtitles paired with exact timestamps. When you play a video, the player reads the VTT file and displays the text at the moments you specified. The file itself is just words and numbers — no video, no audio, no formatting beyond basic styling.

Video editors use VTT files because they are simple to create, edit by hand, and share across different platforms. A VTT file for a 10-minute video might be only a few kilobytes. You can open one in any text editor — Notepad, TextEdit, VS Code — and see exactly what it contains. Most video hosting platforms, including YouTube and Vimeo, accept VTT files as captions.

Key Takeaways

  • A VTT file is a text document containing captions or subtitles with timestamps that tell a video player when each line should appear.
  • VTT files are separate from the video itself, so you can add, edit, or remove captions without re-encoding the video.
  • You can create a VTT file by hand in any text editor, or generate one using video editing software or caption generation tools.
  • Most video platforms including YouTube, Vimeo, and HTML5 video players recognize and display VTT captions automatically.

How a VTT file is structured

Every VTT file starts with the line WEBVTT at the top. Below that are blocks of captions, each with a timestamp range and the text to display. The timestamp format is hours:minutes:seconds.milliseconds. Here is what a real example looks like:

WEBVTT 00:00:05.000 --> 00:00:10.000 Welcome to the tutorial 00:00:10.500 --> 00:00:15.000 Today we will learn about color grading 00:00:15.500 --> 00:00:22.000 Open your editing software and load a clip

In this example, the first caption appears at 5 seconds and disappears at 10 seconds. The second caption starts at 10.5 seconds. You can add as many blocks as you need. The text can be one line or multiple lines — the player will display whatever you write until the next timestamp begins.

You can also add optional speaker labels or styling notes, but the basic structure above is all you need. Many video editors strip out the extras anyway, so keeping it simple is often the safest choice.

Creating a VTT file in your video editor

Most video editing software can export captions as VTT. In Adobe Premiere Pro, you add captions through the Captions panel, then export as WebVTT. In DaVinci Resolve, you create subtitles in the Fusion or Edit page and export them as VTT. In CapCut, you generate captions and export them in the same format.

The process is usually: add your captions or subtitles in the editor's caption tool, review the timing, then use the export or save function to choose WebVTT as the format. The editor handles the timestamp math for you — you just see the captions on the timeline and the software writes the correct numbers into the file.

If your editor does not have a caption tool, or if you want to edit captions outside the editor, you can create or edit the VTT file directly in a text editor. This is slower but gives you complete control. You type the timestamps yourself and paste in the text. Many people do this for short videos or when they need to fix a few lines.

Using a VTT file with your video

Once you have a VTT file, you need to upload it alongside your video. On YouTube, you can upload a VTT file in the Subtitles section of the video details page. Vimeo has a similar upload option under Captions. If you are hosting video on your own website using an HTML5 video player, you link to the VTT file in the video tag itself.

The VTT file does not need to be embedded in the video. It stays separate, which means you can update captions without re-uploading the video. If you notice a typo or mistiming, you edit the VTT file and re-upload it. The video player will read the new version the next time someone watches.

Some platforms automatically generate captions and offer them as VTT downloads. YouTube does this with its automatic captions feature. You can download the VTT file, edit it to fix errors, and re-upload it as your official captions.

VTT versus other caption formats

Other caption formats exist: SRT (SubRip), ASS (Advanced SubStation Alpha), and SCC (Scenarist Closed Captions). SRT is simpler than VTT but less flexible. ASS allows more styling but is harder to read by hand. SCC is used mainly for broadcast television and is rarely needed for online video.

VTT is the modern standard for web video because it is simple, widely supported, and flexible enough for most needs. If you are uploading to YouTube, Vimeo, or any streaming platform, VTT is the safest choice. If you are working with older broadcast systems or specific professional workflows, you may need a different format, but your video editor will tell you which one.

You can convert between formats using tools like Subtitle Edit or HandBrake, but starting with VTT saves you a step. Most conversion tools can read VTT and write it out in other formats if you need them later.

Common mistakes when working with VTT files

The most common mistake is incorrect timestamps. If you type 00:05:30 instead of 00:05:30.000, some players will reject the file. Always include the milliseconds, even if they are .000. The second mistake is forgetting the WEBVTT header at the top — without it, most players will not recognize the file as a caption file at all.

A third mistake is saving the file with the wrong extension. The file must end in .vtt, not .txt or .srt. If you create the file in Notepad, make sure you save it as "captions.vtt" and not "captions.txt". Some text editors default to .txt and will not let you change it without extra steps.

Timing issues are also common. If you copy timestamps from one video and paste them into a VTT for a different video, the captions will appear at the wrong moments. Always generate or adjust timestamps for the specific video you are captioning. If you are editing an existing VTT file, test it in the video player before uploading to make sure the timing still matches.

Frequently Asked Questions

Can I edit a VTT file in Notepad or Word?

Yes, you can edit a VTT file in Notepad, but not in Word. Word adds invisible formatting that breaks VTT files. Use Notepad, TextEdit (on Mac), VS Code, or any plain text editor. Save the file as .vtt, not .docx or .txt.

What happens if my VTT file has a typo?

If the typo is in the caption text, the wrong words will display in the video player. If the typo is in the timestamp or the WEBVTT header, the player may reject the entire file or skip that caption block. Always test your VTT file in a video player before uploading it to a platform.

Do I need a VTT file if my video editor has built-in captions?

Not necessarily. Some editors embed captions directly into the video file. But if you want to upload captions separately to YouTube or Vimeo, or if you want to reuse the same captions on multiple platforms, exporting as VTT is easier and more flexible.

Can I use a VTT file for multiple videos?

Only if the videos are the same length and have the same content at the same moments. If the videos differ in length or timing, you need a separate VTT file for each one. The timestamps must match the video exactly.

What if my video player does not recognize the VTT file?

Check that the file extension is .vtt and that the WEBVTT header is on the first line with no extra spaces. Verify the timestamps are in the correct format (HH:MM:SS.mmm). If the player still does not recognize it, try converting the file to SRT format using a subtitle conversion tool, or contact the platform's support to see which formats they accept.