Export format
YouTube to WebVTT
Get a YouTube video's captions as a WebVTT (.vtt) file, the caption format browsers use for the HTML5 <track> element. Use it on your own site, in an LMS, or anywhere that asks for VTT instead of SRT.
How it works
- Paste a YouTube video link or ID.
- Preview the cues with their timings.
- Download the .vtt file and attach it to your player.
What the WebVTT export looks like
Real output for “Me at the zoo”, the first video on YouTube, produced by the same code as the tool above.
WEBVTT 00:00:01.200 --> 00:00:03.360 All right, so here we are, in front of the elephants 00:00:05.318 --> 00:00:07.974 the cool thing about these guys is that they have really... 00:00:07.974 --> 00:00:12.616 really really long trunks 00:00:12.616 --> 00:00:14.367 and that's cool 00:00:14.421 --> 00:00:15.733 (baaaaaaaaaaahhh!!) 00:00:16.881 --> 00:00:18.881 and that's pretty much all there is to say
Who it's for
- Web developers self-hosting video
- Course creators uploading to an LMS
- Teams that need captions in the browser's native format
Other formats
Need this for many videos?
Pull a playlist's transcripts with the playlist tool, or get the same data from code with the transcript API and MCP server.
YouTube to WebVTT: questions
What is the difference between VTT and SRT?
Both are timed text. WebVTT starts with a WEBVTT header and uses a dot before the milliseconds (00:01:02.500); SRT numbers each cue and uses a comma. Browsers need VTT for <track>; desktop editors usually prefer SRT.
What if a video has no captions?
The tool can only export captions YouTube already has, creator-written or auto-generated. Videos with captions turned off have nothing to export, and the tool tells you so.
Can I export a whole playlist or channel?
This page exports one video at a time. For a playlist, the playlist tool pulls transcripts for its videos; for whole channels or recurring exports, the API and MCP server return the same data for every video.