Free tool
VTT generator
This free VTT generator makes a WebVTT file from the speech in a video or recording: the WEBVTT header, then numbered captions timed to the millisecond, two short lines each, ready for the track of an HTML5 video player.
- Free
- WebVTT, ready for the web
- Nothing is stored
Drop your video or audio file here, or Choose your video or audio file
MP4, MOV, MKV or WebM video, or MP3, M4A or WAV audio. Up to 30 minutes of each file, 3 free files a day. The language is detected automatically.
Captioning videos for your own site every week? NoteOwl transcribes recordings on your Mac with unlimited transcription and saves subtitles with each speaker’s name, ready to turn into VTT.
How it works
How do you create a VTT file from a video?
Drop the video on the page. Its sound is transcribed in short pieces and laid out as numbered captions timed to the speech. Read them in the preview, then press Download VTT: the .vtt file takes your video’s name and is ready for a web player.
- 1
Add the video
The same MP4, WebM or MOV file your page will play, or the audio of it.
- 2
Check the captions
Each caption shows its number, start and end and its lines. Up to 30 minutes of every file are captioned.
- 3
Download VTT
One click saves the .vtt file in UTF-8. SRT and plain text sit beside it.
What is inside a VTT file made here?
Plain text: the word WEBVTT on the first line, a blank line, then one block per caption, with its number, its timing line and one or two lines of words. Any text editor opens it, and the browser’s own player reads it.
Characters with a special meaning in WebVTT are written safely: an ampersand becomes & and a stray “<” becomes <, so a caption can never break the file.
- Header
- In the fileWEBVTT
- Its jobMarks the file as WebVTT; the only part the format requires
- Identifier
- In the file1
- Its jobOptional in WebVTT; numbered here so the file matches its SRT twin
- Timing
- In the file00:00:01.080 --> 00:00:04.460
- Its jobStart and end, with a full stop before the milliseconds
- Text
- In the fileHowever, due to the slow / communication channels,
- Its jobThe caption’s lines, shown together
| Part | In the file | Its job |
|---|---|---|
| Header | WEBVTT | Marks the file as WebVTT; the only part the format requires |
| Identifier | 1 | Optional in WebVTT; numbered here so the file matches its SRT twin |
| Timing | 00:00:01.080 --> 00:00:04.460 | Start and end, with a full stop before the milliseconds |
| Text | However, due to the slow / communication channels, | The caption’s lines, shown together |
When do you need VTT and not SRT?
Whenever the captions play in a web page. The HTML video element’s <track> reads WebVTT, players built on it such as Video.js ask for WebVTT, and HLS streams carry subtitles as WebVTT. YouTube takes either, and for a video editor you download the SRT.
Your own website
An HTML5 video with a <track> element: VTT is the format browsers read natively.
Courses and hosted players
On a course platform or a hosted video player, upload the .vtt wherever it asks for a captions file.
Editors and YouTube
Premiere Pro, DaVinci Resolve and Final Cut Pro import SRT; YouTube accepts both. The SRT is one click away.
How do you add captions to an HTML5 video?
Put the .vtt file on your site next to the video and point a <track> element at it inside the <video> tag, with the language, a label for the player’s menu and, if you like, default to show it at once.
- 1
Upload the file
Serve it from the same site as the page, as text/vtt. A file on another domain needs the crossorigin attribute on the video.
- 2
Add the track
<track kind="subtitles" src="talk.vtt" srclang="en" label="English" default> goes inside <video>. With kind set to subtitles, srclang is required.
- 3
Check it plays
Open the page and pick the track from the player’s captions menu. Use kind="captions" if the file also describes sounds.
Can you position or style VTT captions?
Yes, by adding cue settings after the times, which this page leaves for you to choose. “line:0” moves a caption to the top, and position, size and align place it across the frame; a STYLE block can colour the text with ::cue.
The generated file has no settings, so every caption appears where the player puts captions by default, usually centred at the bottom. Each holds at most 2 lines of 42 characters and stays up 1 to 7 seconds; move one only when it would cover something important on screen.
A full example of a timing line with settings: 00:00:05.000 --> 00:00:10.000 line:0 position:20% size:60% align:start.
Want captions with speaker names, made on a Mac?
NoteOwl transcribes recordings on your Mac with unlimited transcription, names each speaker and saves SRT subtitles with those names, using on-device AI models. Drop that SRT on the SRT to VTT converter and the names come along in the VTT.
FAQ
Questions about making VTT files
Is the VTT generator free?
Yes. Create VTT files for 3 videos a day, up to 30 minutes of each, with no account and no watermark. SRT and text downloads are included.
What does WEBVTT at the top of the file mean?
It is the header every WebVTT file must start with, and the only part the format requires. Players check for it before reading the captions, so leave it on the first line when you edit the file.
Can I edit the VTT file?
Yes. Open it in any text editor, change the words and save it as UTF-8. Keep the WEBVTT line, the blank lines between captions and the timing lines, which use a full stop before the milliseconds.
Can it write captions in other languages?
Yes. The VTT is written in the language spoken in the video, which the generator detects, including scripts such as Chinese, Japanese or Hebrew; it doesn’t translate. Hebrew lines carry a right-to-left mark so players lay them out correctly.
Is my video uploaded to make the VTT?
No. Your browser reads the video on your device and takes out its sound. Short pieces of that sound travel over a secure connection to a cloud AI transcription service, which transcribes and discards each one; the VTT is written in the page and NoteOwl keeps nothing.
Does the VTT include speaker names?
No. The web generator writes the spoken words only. NoteOwl on a Mac labels speakers in the SRT files it saves, and the SRT to VTT converter carries those names into a VTT.
Keep exploring
More subtitle generator tools
- Subtitle generatorA free AI subtitle generator: drop in a video or recording and download SRT or VTT subtitles timed to the speech, two short lines per cue; only the sound is sent, nothing is stored
- SRT generatorMake an SRT subtitle file from a video or recording free in your browser: timed cues of two short lines, ready for YouTube or a video editor; nothing is stored
The same in other tools
Captions from your recordings, made on your Mac
Free to download. Runs entirely on your Mac.
macOS 26 or later · Apple Silicon (M1 or newer) · 16 GB memory minimum, 24 GB recommended
About NoteOwl
NoteOwl is private AI meeting notes and memory for the Mac. It captures meetings without a bot joining the call, labels every speaker, writes summaries and action items, and builds a memory of every conversation that you can chat with — fully offline, because the speech recognition and the AI run on the Mac itself. Dictation into any app is free; Pro is a one-time purchase.
NoteOwl pricing: what’s free and what Pro adds
Last updated