Download YouTube subtitles as SRT, with timestamps
To download a YouTube video's subtitles as SRT, paste its link into VidWords, pick the caption language, then choose .srt in the Download menu. The file keeps the original start and end time of every caption line, so it stays in sync with the video in Premiere, DaVinci Resolve, CapCut or VLC. The same menu offers VTT, TXT, CSV and JSON, and the first 3 videos a month need no account.
This opens the video's transcript on VidWords with the download menu ready. A direct link works too: https://vidwords.com/?v=VIDEO_ID.
Subtitle files are useful well beyond watching with the sound off. Editors need an .srt to burn captions into a clip, translators need the original track to start from, accessibility teams need files they can review and fix, and researchers want each line with its timestamp. YouTube's own Show transcript panel has no SRT or VTT export button, which is why you need a separate export step at all.
Step by step: YouTube to SRT
- Copy the video's link from YouTube. Watch links,
youtu.belinks, Shorts and live replays all work. - Paste it into the box above, or on the VidWords homepage, and press Get transcript.
- If the video has captions in more than one language, pick the track you want from the language menu. Auto-generated tracks are marked.
- Choose
.srtin the download menu, or.vtt,.txt,.csvor.json, and press Download. The file is named after the video's title.
What the SRT file looks like
Each caption line becomes a numbered cue with its start and end time, in the standard SubRip layout. The words below are an illustration, not a real video:
1
00:00:00,160 --> 00:00:03,520
So today we're going to look at how
2
00:00:03,520 --> 00:00:06,880
the setup works, and why the first step
Downloading a transcript with timestamps
If you want the timestamps but not a subtitle file, every format except one keeps them:
.txtgives one caption line per row, each starting with its time, like[00:01:23] the setup works…..csvgives one row per caption line, with columnsstart,duration,text(times in seconds)..jsongives the same lines as{"text", "start", "duration"}objects..srtand.vttgive start and end times for every cue.
The exception is .txt, text only, which drops the timestamps and keeps readable paragraphs. That one is covered in YouTube subtitles as plain text.
Which format should you pick?
- SRT — the universal subtitle format. Practically every video editor (Premiere Pro, DaVinci Resolve, Final Cut, CapCut) and media player (VLC, mpv) accepts it. If you're editing video or re-uploading with captions, choose SRT.
- VTT — the web-native format (WebVTT). This is what HTML5
<track>elements and most embedded web players expect. Choose VTT if the captions are going onto a website or web app. - TXT — two choices.
.txtis one timestamped line per caption, which is handy for citing moments..txt, text onlyis just the words in clean paragraphs, which is best for reading, quoting, summarising or pasting as ordinary text. (More in the guide to converting a YouTube video to text.) - CSV — one row per cue, with
start,durationandtextcolumns (times in seconds). It opens straight into Excel or Google Sheets, so it's the easy choice for spotting patterns, annotating, or editing timings by hand. - JSON — the same cue-level data in a structured form that scripts and applications can parse directly. Pick this for data pipelines, search indexing, or any programmatic work.
A reasonable rule of thumb: SRT or VTT when the file goes back next to a video, TXT when a human will read it, CSV or JSON when software will.
SRT and VTT are not interchangeable — don't just rename the file
They carry the same cues, but the bytes differ in two ways a strict parser will not forgive. A .vtt file must open with a WEBVTT line, and it separates milliseconds with a period — 00:01:23.456. An .srt file has no header, numbers each cue, and uses a comma — 00:01:23,456. Renaming captions.srt to captions.vtt therefore produces a file that an HTML5 <track> element silently refuses to display, which is a confusing hour if you don't know to look. Export the format you actually need instead.
Worth knowing where VTT tends to be required: HTML5 <video> and the players built on it (Video.js, Plyr, JW Player), HLS and DASH streams, and the LMS platforms — Canvas, Moodle, Blackboard, Teachable, Kajabi — which almost all take WebVTT and not SubRip.
Choosing a caption language
Some videos carry several caption tracks — an author-uploaded track, auto-generated captions, or other language tracks. The language dropdown lists the accessible tracks VidWords receives for that video, with auto-generated tracks marked. Pick a different track and the view reloads; the download reflects that selection. Creator-supplied captions are typically more reliable, while YouTube recommends reviewing automatic captions before relying on them.
For fully automated workflows, the REST API does the same job from code: send video URLs, get back structured transcript data you can render into any subtitle format your pipeline needs.
Can't I just download subtitles from YouTube directly?
Not directly as a viewer. YouTube's Show transcript panel lets you read captions and jump to a line's timestamp, but it does not provide an SRT/VTT export button. Creators can download their own caption tracks through YouTube Studio; Google's API download method likewise requires permission to edit the video. For a public video you do not control, a separate export workflow is required.
Editing subtitles after you download them
One underrated benefit of having a real file: you can fix it. SRT and VTT are plain text, so any text editor opens them — correct a misheard name, tidy the punctuation in an auto-generated track, or translate cue by cue while the timings stay intact. Most video editors also let you re-import the corrected file and burn it in. If you'd rather work in a spreadsheet, download the CSV instead, edit the text column in Sheets or Excel, and leave the start and duration columns untouched. Starting from YouTube's existing track is almost always faster than transcribing and timing captions from scratch.
FAQ
Are the downloaded timestamps accurate?
Yes, for a video with captions — SRT, VTT, CSV, and JSON exports preserve the exact cue timings from YouTube's caption track, so the file lines up with the video without adjustment. When there is no caption track and the audio is transcribed instead, the timings come from the transcription, not from YouTube; they follow the speech closely but are not a creator's hand-placed cues.
What if a video has no subtitles at all?
If the creator disabled captions and YouTube never auto-generated any, there is no track to download. An account on a paid plan or with purchased AI Processing Units can have the audio transcribed instead (3 AI Processing Units per audio minute plus the Cloud Request); otherwise you get a clear message rather than an empty file, and the attempt doesn't count against your quota.
How many downloads are free?
Signed-out visitors get 3 Cloud-processed videos per month. Free accounts include 25 monthly Cloud Requests, and the Chrome extension on a computer gives unlimited browser transcripts. Downloading another format of a video you already loaded doesn't use another request. Paid plans raise Cloud processing to as much as 10,000 requests per month and include larger API and MCP limits.