MP4 to VTT: a caption file your web player can load.

Drop an MP4 and download a WebVTT file timed to what is said in it. Put the two side by side on your server, add one line of HTML, and the browser shows a CC button.

.vtt outputMP4, MOV, WEBM, MKVUp to 10 hoursFree preview

How it works

From an MP4 to a VTT file in three steps.

1

Upload the MP4

Drop the file into the box, or paste a direct link to it if it is already on your server or in cloud storage.

2

Check the transcript

Correct names and terms on the transcript page. The corrections go into every file you download.

3

Download .vtt

Save it next to the video with a clear name such as lesson-1.en.vtt.

Using the file

One line of HTML turns it on.

With lesson-1.mp4 and lesson-1.en.vtt in the same folder on your site:

<video controls src="lesson-1.mp4"><track kind="captions" src="lesson-1.en.vtt" srclang="en" label="English" default></video>

Three things go wrong often enough to mention:

More on players and several languages: subtitles for HTML5 video.

If you only have big files

Captions need the sound, not the picture.

A 4K MP4 of a one-hour lesson can be several gigabytes; its audio is about 50 MB. The free extract audio from video tool pulls the audio out in your browser, and a VTT made from that audio fits the video exactly because the timeline is the same. Files up to 5 GB or 10 hours are accepted either way.

Need SRT for an editor as well? It comes from the same upload: MP4 to SRT.

Sample output

What the VTT file looks like.

WEBVTT

00:00:34.680 --> 00:00:46.500
fourscore and seven years ago our fathers brought forth upon this continent a new nation conceived in in liberty, and dedicated to the proposition

00:00:46.500 --> 00:00:50.300
that all men are created equal.

00:00:50.300 --> 00:00:57.500
Now we are engaged in a great civil war, testing whether that nation, or any nation so conceived

00:00:57.500 --> 00:01:01.620
and so dedicated, can long endure.

00:01:01.620 --> 00:01:07.920
We are met on a great battlefield of that war we have come to dedicate a portion of that field

00:01:07.920 --> 00:01:14.240
as a final resting place for those who here gave their lives that their nation might live

00:01:15.360 --> 00:01:18.800
it is altogether fitting and proper that we should do this

Real output, unedited: a public-domain LibriVox reading of the Gettysburg Address (2 min 41 s) transcribed here in October 2026. The repeated word and the missing capitals are what came back; you would fix those on the transcript before downloading.

Before you rely on it

What the subtitle file is, and what it is not.

One cue per spoken phrase

Each cue is a phrase from the transcript with its start and end time. Most run a few seconds. A passage spoken without a pause can come out as one long cue of up to about half a minute, so split those in your editor if your platform wants two short lines at a time.

Timing comes from the audio

Cue times are taken from the recording itself, so the file lines up with the video or audio you uploaded. If you trim the start of the video afterwards, shift the cues by the same amount in your editor.

Accuracy we measured

On public test recordings, about 7 words in 100 differed from the reference for clean English read speech, between 4 and 9 in 100 for Spanish, Portuguese, Russian, French and German, and about 21 in 100 for Hindi. Noisy rooms, music and crosstalk do worse. Method and every number: the benchmark.

Fix a line before you download

Open the transcript, correct a misheard name or number on its line, and the SRT and VTT you download carry the correction with the timing unchanged.

A plain file, not a styled video

You get the subtitle file. Fonts, colours, position and captions drawn into the picture are done in your video editor or player, which reads this file.

Limits

Up to 10 hours or 5 GB per recording. The box on this page takes files up to 500 MB; larger ones continue on the upload page. 99+ languages, detected automatically.

Pricing

What a VTT file for an MP4 costs

The preview is free. When the full transcript needs a pack, one-time packs are $4 for 500 minutes, $8 for 1,000 minutes, $12 for 2,000 minutes, $24 for 5,000 minutes. Credits never expire, which comes to about $0.29 to $0.48 per hour of audio.

Recording$4 or $8 pack$12 pack$24 pack
3-minute explainer$0.02$0.02$0.01
20-minute lesson$0.16$0.12$0.10
1-hour webinar$0.48$0.36$0.29

Figures are the share of a pack each recording uses. A button opens secure checkout for that pack. Every export format is included; full details on the pricing page.

FAQ

MP4 to VTT, answered.

How do I create a VTT file from an MP4?

Upload the MP4 in the box on this page. When the transcript is ready, open it and download .vtt. The file is made from the speech in the video.

Is it free to create a VTT file?

The preview is free. Opening or downloading the full transcript may need a pack; the smallest is $4 for 500 minutes and credits never expire.

Does the VTT include styling or positioning?

No. The file contains the WEBVTT header and timed text only. Style captions with the ::cue selector in your page's CSS, or in your player's settings.

Why do my captions not show in the browser?

The usual causes are a track on a different domain without CORS headers, a page opened straight from disk, or an SRT file given to the track element, which accepts only WebVTT.

Can I get both VTT and SRT?

Yes. Both downloads come from the same transcript at no extra charge.

Subtitles and captions

Every page in this set uses the same upload box and the same export. All subtitle pages

Closest to this page

WebVTT

Make subtitles

From a link or a file

For a platform or an editor

Convert a subtitle file

Formats and rules

By language

Drop the MP4. Get the VTT.

Free preview. VTT and SRT from the same upload; packs from $4 when the full transcript needs one.