Skip to content

YouTube to VTT (WebVTT) download

To get a WebVTT file from a YouTube video, paste the link below, wait for the transcript and select Download with VTT preselected. The .vtt file starts with the WEBVTT header and uses dot-separated milliseconds, so it works with the HTML5 <track> element and most web video players.

10 free transcripts per 24 hours (24 with a free account). Paste a link, or type it and choose Get transcript.

Free/guest transcripts are published publicly. Choose Pro for private transcripts.

How to download YouTube captions as VTT in 3 steps

  1. Paste the YouTube link above and choose Get transcript.
  2. When the transcript appears, keep VTT — web captions selected and choose Download.
  3. Upload the .vtt file next to your video and reference it from a <track> element.

Example output

The first chunk of a real transcript from the public library: Moravec's Paradox - Why are machines so smart, yet so dumb? (Up and Atom). The text is shown exactly as stored, including recognition errors.

WEBVTT

00:00:00.030 --> 00:00:29.780
this episode was made possible by Robo race the world's first driverless racing series hi everyone jto have you ever wondered why it's so easy for machines to do things we find really hard hey Siri what's the square root of five thousand six hundred and ninety seven this square root of five thousand six hundred and ninety seven is approximately seventy five point four seven eight five but so hard to do

Add the VTT file to an HTML5 video

Place the .vtt file on your server and add a <track> element inside the <video>:

<video controls src="/media/talk.mp4">
  <track kind="subtitles" src="/media/talk.vtt" srclang="en" label="English" default>
</video>
  • Serve the file with the text/vtt content type.
  • If the .vtt is on another domain, that server must send CORS headers and the <video> needs a crossorigin attribute.
  • Set srclang to the language of the captions; TubeTranscript does not translate them.
  • Use this for videos you host and have the rights to. The YouTube embed player does not accept external caption files.

Limits you should know

  • Cues follow transcript chunks (often 20–30 seconds), with no positioning or styling.
  • &, < and > in the text are escaped as &amp;, &lt; and &gt;, as WebVTT requires; players display them normally.
  • Without an account you get 10 transcripts per 24 hours (up to 5 of them AI-transcribed); a free account gets 24. Pro raises this to 1,000 a day under fair use.
  • Private, removed and region-restricted videos cannot be processed. Audio transcription is not available for live streams in progress, or for videos longer than 30 minutes on the free plan and 2 hours on Pro.

FAQ

What is the difference between VTT and SRT?

Both hold timed subtitles. VTT starts with a WEBVTT header and uses a dot before milliseconds; SRT numbers each cue and uses a comma. Browsers' <track> element needs VTT.

Can I convert the VTT to SRT later?

Yes, with the VTT to SRT converter, which runs in your browser.

Can I add the VTT to a YouTube embed?

No. The YouTube player shows only the captions uploaded to YouTube. The VTT file is for players you control.

Why does the file contain &amp;?

An ampersand is markup in WebVTT, so it is escaped. Players show it as "&".

By Kenji Saito · Updated