Embed video without YouTube ads or buffering. Try SmartVideo free →

How to Create a VTT File: Step-by-Step Guide for Video Captions (2026)

Learn how to create a VTT file for video captions using a plain text editor. Includes format examples, VTT vs SRT comparison, common mistakes, and free tools.

Creating a closed captions VTT file for video subtitles
📋
TL;DR
The basics: A VTT file is a plain text file used to display subtitles on the web.
The format: It must start with "WEBVTT" and use timecodes like 00:00:05.000.
The tools: You can create one using Notepad (Windows) or TextEdit (Mac).
The rule: Always save your file with UTF-8 encoding to prevent text errors.

Video is a powerful engagement tool, but without subtitles, you're missing a huge chunk of your audience. Whether it's for accessibility or just for people watching on mute in a busy coffee shop, captions are essential. In fact, 41% of videos are incomprehensible without sound or captions (3PlayMedia, 2025).

One of the most common formats for web captions is the VTT file. Unlike older formats, VTT was designed specifically for the web, offering cleaner integration with HTML5 video players.

If you've never created a subtitle file before, it might look like complex code. It isn't. You can create a VTT file right now using the plain text editor already installed on your computer. Here is your step-by-step guide to doing it correctly.

ℹ️
What is a VTT file? A VTT (WebVTT) file is a simple text file used to display subtitles or captions in online video players, distinguished by its specific timecode format and "WEBVTT" header (MDN, 2026).

VTT vs. SRT: What's the Difference?

Before you start typing, it's important to know why you're using VTT. While SRT (SubRip) is the old guard of subtitles, VTT (Web Video Text Tracks) is the modern standard for the web.

Here is how they compare:

Feature SRT Format VTT Format
Timecode Format Comma for milliseconds (00:00:05,000) Period for milliseconds (00:00:05.000)
Styling Very limited (basic HTML) Rich styling (color, font, bold)
Positioning None (always bottom center) Flexible (top, align left, vertical text)
Metadata No metadata support Supports comments and metadata headers

For most modern web uses, including uploading to platforms like YouTube or hosting on your own site, VTT is the superior choice.

For more on the technical side of video files, check out our guide on video metadata.

The WebVTT File Structure

A VTT file relies on strict formatting. If you miss a single blank line or use a comma instead of a period, the entire file might fail to load. The structure is simple but unforgiving.

Every VTT file has three core components:

  1. The Header: The very first line must read WEBVTT.
  2. The Timecodes: Defining exactly when text appears and disappears.
  3. The Cues: The actual text content displayed to the viewer.

Example of a Valid VTT File

WEBVTT

00:00:01.000 --> 00:00:04.000
Welcome to this tutorial on creating captions.

00:00:05.000 --> 00:00:09.000 align:start line:0%
You can even position text at the top of the screen.
Developer coding on a laptop screen
Photo by Clément H on Unsplash

How to Create a VTT File Manually

You don't need expensive software to build this file. A simple text editor is all you need. Here is how to do it on Windows and Mac.

On Windows (Using Notepad)

  1. Open Notepad (search for it in the Start menu).
  2. Type WEBVTT on the first line. Hit Enter twice to leave a blank line.
  3. Type your first timecode: 00:00:01.000 --> 00:00:05.000.
  4. On the next line, type your caption text.
  5. Hit Enter twice to create a blank line before the next cue.
  6. Go to File > Save As.
  7. Name your file captions.vtt.
  8. Crucial Step: Under "Encoding," select UTF-8. If you save as ANSI, special characters will break.

On Mac (Using TextEdit)

  1. Open TextEdit.
  2. In the menu bar, click Format > Make Plain Text (Shift+Cmd+T). Do not skip this—rich text files (.rtf) will not work as subtitles.
  3. Type WEBVTT on the first line and hit Enter twice.
  4. Enter your timecodes and text following the format above.
  5. Go to File > Save.
  6. Name your file captions.vtt.
  7. If asked about the extension, choose "Use .vtt".
🚀
Need faster video hosting?
Uploading VTT files is just one step. Ideally, your video player should handle captions automatically without slowing down your site. See how SmartVideo handles this for you.

Common Mistakes That Break VTT Files

We see VTT files fail all the time due to tiny syntax errors. Avoid these common traps:

1. Using Commas Instead of Periods
SRT files use commas (00:00:05,000). VTT files use periods (00:00:05.000). If you simply rename an SRT file to .vtt without changing the punctuation, it will fail.

2. Missing the "WEBVTT" Header
The file must start with WEBVTT. If there are spaces or blank lines before it, the browser won't recognize the file format.

3. Not Using UTF-8 Encoding
If your captions include accents, emojis, or non-English characters, saving in standard ANSI encoding will turn them into garbled text. Always choose UTF-8 when saving.

4. Forgetting the Blank Line
There must be a blank line between the header and the first cue, and a blank line between every subsequent cue block.

Video editing timeline on a monitor
Photo by Wahid Khene on Unsplash

Advanced VTT Features: Styling and Positioning

One huge advantage VTT has over SRT is the ability to control where captions appear. This is vital if you have embedded videos where lower-thirds graphics might get covered by standard subtitles.

You can add settings directly after the timecode:

00:00:05.000 --> 00:00:10.000 align:start line:0%

  • align:start – Aligns text to the left.
  • line:0% – Moves text to the very top of the video.
  • size:50% – Restricts the text width to half the screen.

This flexibility allows you to ensure captions never block critical visual information, which is a key part of optimizing your streaming performance and user experience.

Tools That Make This Easier

While manual creation is great for learning or small fixes, creating a VTT file for an hour-long webinar manually is tedious. For longer content, you might consider:

Regardless of the tool you use, knowing the manual format helps you fix typos or timing errors instantly without re-uploading or paying for re-processing.

Frequently Asked Questions

What creates a VTT file?

You can create a VTT file using any plain text editor like Notepad (Windows) or TextEdit (Mac). There are also automated tools like Rev or YouTube Studio that can generate them for you (Mozilla, 2026).

Can I convert SRT to VTT?

Yes. To convert manually, change the timecode commas to periods (e.g., 00:00:05,000 becomes 00:00:05.000) and add "WEBVTT" to the very first line of the file.

Is VTT better than SRT?

For web video, yes. VTT supports styling (bold, italics), positioning (top/bottom alignment), and metadata, which SRT lacks. VTT is the HTML5 standard for subtitles.

Do VTT files help with SEO?

Indirectly, yes. While Google doesn't "watch" video, it indexes the text track. Accurate captions help search engines understand your video content, potentially improving visibility (3PlayMedia, 2025).

Why are my VTT captions not showing up?

The most common reasons are missing the "WEBVTT" header, using the wrong timecode format (commas instead of periods), or saving the file in a format other than UTF-8.

What video players support VTT?

Almost all modern HTML5 players support VTT, including YouTube, Vimeo, Video.js, JW Player, and SmartVideo. It is the industry standard for web playback.

How long does it take to caption a video manually?

It typically takes 5-10 times the length of the video to caption it manually. A 5-minute video might take 25-50 minutes to transcribe and timestamp accurately.

Are captions required by law?

In many cases, yes. The Americans with Disabilities Act (ADA) and other global regulations increasingly require digital content to be accessible to people with hearing impairments (ADA.gov, 2026).

Final Thoughts

Creating a VTT file is a straightforward skill that adds immense value to your video content. By ensuring your videos are accessible, you open your message to millions more viewers. If you are looking for more ways to optimize your video workflow, check out our guide on video hosting platforms to find the best home for your content.

Once you have your VTT file ready, you need a player that delivers it seamlessly alongside your high-quality video. SmartVideo ensures your subtitles load instantly without buffering, keeping your viewers engaged from start to finish.