VTT Converter
Blog/How to Create a VTT File
Tutorial7 min readUpdated: January 2025

How to Create a VTT File: Step-by-Step Tutorial

Master the art of creating VTT files manually and with software. Complete guide with examples, best practices, formatting tips, and professional subtitle creation techniques.

🚀 Quick Start Guide

1. Open any text editor (Notepad, TextEdit, etc.)

2. Type "WEBVTT" on the first line

3. Add timestamps and subtitle text

4. Save with .vtt extension

Manual VTT File Creation

Creating a VTT file manually is straightforward and requires only a basic text editor. This method gives you complete control over timing, formatting, and advanced features.

Step-by-Step Instructions
1

Open a Text Editor

Use Notepad (Windows), TextEdit (Mac), or any code editor like VS Code

2

Add the WEBVTT Header

Type "WEBVTT" on the first line (this is mandatory)

3

Add Subtitle Cues

Create timestamp pairs and subtitle text

4

Save with .vtt Extension

Choose "Save As" and use filename.vtt with UTF-8 encoding

Basic VTT File Example:

WEBVTT

00:00:05.000 --> 00:00:10.000
Welcome to our tutorial!

00:00:12.500 --> 00:00:17.500
This is how you create subtitles.

00:00:20.000 --> 00:00:25.000
Keep your text short and readable.

Understanding VTT File Structure

Every VTT file consists of specific components that work together to create synchronized subtitles.

1. File Header

Every VTT file must start with the WEBVTT identifier:

WEBVTT

Optional: You can add a description after WEBVTT on the same line

WEBVTT - English Subtitles
2. Subtitle Cues

Each subtitle entry (cue) contains:

  • Optional cue identifier: A unique name for the cue
  • Timestamp: Start time → End time
  • Subtitle text: The actual caption content
  • Blank line: Separates each cue
cue-1
00:00:05.000 --> 00:00:10.000
Hello, welcome to the video!

cue-2
00:00:12.500 --> 00:00:17.500
This is the second subtitle.
3. Timestamp Format

VTT uses a specific timestamp format:

HH:MM:SS.mmm → HH:MM:SS.mmm

HH: Hours (00-99)

MM: Minutes (00-59)

SS: Seconds (00-59)

mmm: Milliseconds (000-999)

Note: For videos under 1 hour, you can omit hours: MM:SS.mmm

Advanced VTT Features

VTT supports advanced features that make your subtitles more professional and accessible.

Speaker Identification

Use voice tags to identify different speakers:

00:00:05.000 --> 00:00:10.000
<v John>Hello, I'm John.

00:00:10.000 --> 00:00:15.000
<v Sarah>And I'm Sarah, nice to meet you!
Positioning and Alignment

Control where subtitles appear on screen:

00:00:05.000 --> 00:00:10.000 align:center
Centered subtitle

00:00:10.000 --> 00:00:15.000 position:80% line:20%
Top-right positioned subtitle

00:00:15.000 --> 00:00:20.000 align:left size:50%
Left-aligned, half-width subtitle

align: left, center, right

position: Horizontal position (0-100%)

line: Vertical position

size: Width of subtitle area (0-100%)

Text Styling

Add emphasis and formatting to your text:

00:00:05.000 --> 00:00:10.000
This is <b>bold</b> and this is <i>italic</i>.

00:00:10.000 --> 00:00:15.000
This is <u>underlined</u> text.

00:00:15.000 --> 00:00:20.000
<c.red>This text is colored red.</c>

<b> Bold text

<i> Italic text

<u> Underlined text

<c.classname> Custom CSS class

Software Tools for VTT Creation

While manual creation gives you full control, specialized software can speed up the process and provide helpful features like video preview and automatic timing.

Free Desktop Software

Aegisub

Professional subtitle editor with advanced timing tools

  • • Video preview with subtitle overlay
  • • Audio waveform for precise timing
  • • Advanced styling options
  • • Multiple format export

Subtitle Edit

User-friendly editor with auto-sync features

  • • Automatic speech recognition
  • • Spell checking
  • • Translation integration
  • • Batch processing
Professional Software

Adobe Premiere Pro

Video editing suite with integrated captioning

  • • AI-powered auto-transcription
  • • Real-time subtitle preview
  • • Professional workflows
  • • Direct VTT export

Final Cut Pro

Mac video editor with caption tools

  • • Built-in caption editor
  • • Template system
  • • Accessibility compliance
  • • Multiple format support

Online VTT Creation Tools

Online tools offer convenience and accessibility, perfect for quick subtitle creation without installing software.

VEED.IO

Auto-generate subtitles from video and audio

  • • Upload video for auto-transcription
  • • Edit timing and text online
  • • Download VTT files directly

Kapwing

Smart subtitle creation with team collaboration

  • • AI-powered subtitle generation
  • • Real-time collaboration
  • • Multiple export formats

Rev

Professional transcription with VTT export

  • • Human transcription services
  • • High accuracy results
  • • Professional quality

YouTube Studio

Create captions directly on YouTube

  • • Auto-generate from uploaded videos
  • • Edit timing and text
  • • Download as VTT

VTT Creation Best Practices

Timing Guidelines
  • Duration: Subtitles should be on screen for 1-6 seconds
  • Reading speed: Maximum 20 characters per second
  • Gap: Leave 250ms minimum between subtitle cues
  • Sync: Start subtitles 250ms after speech begins
Text Guidelines
  • Length: Maximum 32 characters per line, 2 lines max
  • Breaks: Break lines at natural speech pauses
  • Punctuation: Use proper punctuation for readability
  • Case: Use sentence case, not all caps
Accessibility Guidelines
  • Sound effects: Include [music], [applause], [door slams]
  • Speaker identification: Use voice tags for clarity
  • Non-speech audio: Describe relevant sounds
  • Color contrast: Ensure text is readable over video

Validating Your VTT File

Before using your VTT file, it's important to validate it for errors and compatibility.

Online Validators
  • W3C WebVTT Validator: Official validator for WebVTT syntax
  • Subtitle Tools: Check formatting and timing issues
  • Video players: Test with VLC or web browsers
Common Validation Checks
  • ✓ File starts with "WEBVTT"
  • ✓ Timestamp format is correct
  • ✓ No overlapping timestamps
  • ✓ UTF-8 encoding
  • ✓ Proper line breaks between cues

Common Mistakes to Avoid

❌ Missing WEBVTT Header

Every VTT file must start with "WEBVTT" on the first line.

Wrong: Starting directly with timestamps

❌ Incorrect Timestamp Format

Use HH:MM:SS.mmm format with proper arrows (→).

Wrong: 00:00:05 - 00:00:10
Correct: 00:00:05.000 → 00:00:10.000

❌ Missing Blank Lines

Each subtitle cue must be separated by a blank line.

Always leave an empty line between subtitle entries.

❌ Overlapping Timestamps

Ensure subtitle timing doesn't overlap with the next cue.

Each cue's end time should be before the next cue's start time.

Related Articles

Convert Existing Subtitles to VTT

Already have subtitles in another format? Convert them to VTT with our free online tools.