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.
Open a Text Editor
Use Notepad (Windows), TextEdit (Mac), or any code editor like VS Code
Add the WEBVTT Header
Type "WEBVTT" on the first line (this is mandatory)
Add Subtitle Cues
Create timestamp pairs and subtitle text
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.
Every VTT file must start with the WEBVTT identifier:
WEBVTTOptional: You can add a description after WEBVTT on the same line
WEBVTT - English SubtitlesEach 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.
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.
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!
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%)
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.
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
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
- 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
- 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
- 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.
- W3C WebVTT Validator: Official validator for WebVTT syntax
- Subtitle Tools: Check formatting and timing issues
- Video players: Test with VLC or web browsers
- ✓ 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.
❌ Incorrect Timestamp Format
Use HH:MM:SS.mmm format with proper arrows (→).
Correct: 00:00:05.000 → 00:00:10.000
❌ Missing Blank Lines
Each subtitle cue must be separated by a blank line.
❌ Overlapping Timestamps
Ensure subtitle timing doesn't overlap with the next cue.