There are four ways to download YouTube subtitles: copy them out of YouTube's own transcript panel, run yt-dlp from a terminal, install a browser extension, or paste the URL into a bulk downloader such as YouTube Video Transcript. All four read the same caption tracks YouTube already stores, so the choice comes down to how many videos you need and which file format the next tool in your workflow expects.
For one video with no format requirement, YouTube's own panel is enough and costs nothing. For a timed file an editor will accept, you need yt-dlp or an SRT export. The case that separates the four methods is a whole playlist or channel in one archive, and that is where most of this guide goes.
What is a YouTube subtitle file?
A YouTube subtitle file is the video's caption track saved as text with timing codes attached. YouTube holds two kinds of track: manual captions, written or uploaded by the creator, and auto-generated captions, produced by YouTube's speech recognition. Every method below reads whichever of the two a given video has. Neither kind exists for a video whose creator disabled captions, and no downloader can invent one.
The format decides what the file is called. SRT numbers each cue and separates start and end times with an arrow (-->), which is what video editors read. WebVTT (.vtt) is the W3C format that browsers load into the HTML5 <track> element. Strip the timings out of either one and what remains is a transcript: running text, no cues.
How do you copy subtitles straight from YouTube?
YouTube shows the full caption text of any public video in a transcript panel, and reading it needs no account and no install. Open the video, click the three-dot More menu under the player, and choose Show transcript. A panel opens beside the video with the caption text and timestamps. Select the text inside the panel, copy it, and paste it wherever you need it. The panel's own three-dot menu turns the timestamps off.
What YouTube's panel hands you is text, not a subtitle file. Pasted into a .txt it reads fine, but it will not import into Premiere Pro or feed an HTML5 player, because the timings come through as display text rather than as SRT or WebVTT cues. The panel also covers one video at a time. There is no playlist view and no channel view, so 40 videos means opening 40 pages and repeating the same copy 40 times.
How do you download subtitles from a playlist or channel?
Paste the playlist or channel URL into YouTube Video Transcript, tick the videos you want, choose a format, and the subtitles come back as one ZIP. The video picker runs before anything is charged, so pasting a 400-video channel and taking 12 of them costs 12 transcripts. A single video skips the archive and downloads as one file.
YouTube Video Transcript exports six formats: TXT, SRT, JSON, CSV, DOCX, and Markdown. Five of them sit in the app's format menu, and DOCX comes from the API. SRT is the one to take for subtitle work. WebVTT is not among the six, which matters if a browser player is loading the file directly: convert the SRT, or use yt-dlp, which downloads YouTube's native .vtt track without converting anything.
A video with captions disabled does not silently vanish from the batch. Every video in a finished job keeps its own row, the ones YouTube holds no caption track for are labeled No captions rather than shown as a generic failure, and any video that fails is refunded to your balance.
The largest single job YouTube Video Transcript has handled pulled 3,713 videos from one channel, and 16,466 transcripts have gone through the service so far, at a median of 1.9s per transcript. Figures as of September 2026.
You do not have to take that on trust. The app returns one transcript before you sign in at all, and a Google sign-in adds 30 a month on top: spend them on a playlist whose contents you already know and check the SRT files against the videos.
How do you download YouTube subtitles with yt-dlp?
yt-dlp is a free, open-source command-line downloader that reads YouTube's caption tracks directly, and it is the better tool if you are comfortable in a terminal and need a handful of videos. YouTube serves those tracks as WebVTT plus a few XML and JSON variants, and never as SRT, so yt-dlp saves .vtt unless you ask it to convert.
Subtitles from a single video
yt-dlp --write-subs --write-auto-subs \
--sub-langs en --convert-subs srt \
--skip-download \
"https://www.youtube.com/watch?v=VIDEO_ID"--skip-download leaves the video file alone and takes only the captions. --write-subs asks for the manual track and --write-auto-subs adds the auto-generated one as a fallback. --convert-subs srt turns the downloaded WebVTT into SRT, a step yt-dlp runs through ffmpeg, so ffmpeg has to be installed for it to work.
Subtitles from an entire playlist
yt-dlp --write-subs --write-auto-subs \
--sub-langs en --convert-subs srt \
--skip-download \
"https://www.youtube.com/playlist?list=PLxxxxxxxx"Every video in the playlist gets its own subtitle file in the working directory. A channel URL works the same way. What yt-dlp does not do is hand the run back to you as a report: an interrupted channel job leaves you comparing the file list against the video list yourself, and re-running it means re-fetching what already landed.
Subtitles in several languages at once
yt-dlp --list-subs "https://www.youtube.com/watch?v=VIDEO_ID"
yt-dlp --write-subs --sub-langs "en,es,fr,de" \
--skip-download \
"https://www.youtube.com/watch?v=VIDEO_ID"--list-subs prints every track a video actually has before you spend a request on it. --sub-langs takes comma-separated language codes and fetches each one that exists. If you want the plain text rather than the cues, our guide on how to download YouTube transcripts covers the same ground without the timing codes.
Do browser extensions download YouTube subtitles?
Yes, one video at a time. Browser extensions such as Glasp and Tactiq add a transcript button to the YouTube page and export the caption text without sending you anywhere else. An extension works inside the page you have open, which makes it the fastest route for one video and a poor one for a hundred: there is no playlist queue, and the export is usually plain text rather than a timed SRT.
Chrome on Android and iOS runs no extensions, so this method is desktop only. On a phone, a browser-based downloader is the remaining option.
Which subtitle format should you download?
Take SRT unless something downstream demands otherwise. SRT imports into Premiere Pro, DaVinci Resolve, VLC, and most subtitle editors, and it is the format the other tools convert to when they need interoperability. Take WebVTT when a browser-based player is loading the file directly, and TXT when the destination is a search index or an LLM prompt rather than a timeline.
| Format | Timestamps | Best for | Where you get it |
|---|---|---|---|
| SRT | Yes | Video editing, subtitle import | YouTube Video Transcript export, or yt-dlp with --convert-subs |
| WebVTT (.vtt) | Yes | HTML5 players, video.js, Plyr | yt-dlp, natively. Not a YouTube Video Transcript export format |
| TXT | Optional | Reading, search, LLM input | YouTube Video Transcript export, or YouTube's panel |
| JSON | Yes | Code, data pipelines | YouTube Video Transcript export |
| CSV | Yes | Spreadsheets, filtering, sorting | YouTube Video Transcript export |
| DOCX | Optional | Sharing, printing, review | YouTube Video Transcript, through the API |
| Markdown | Optional | Notes, docs, static sites | YouTube Video Transcript export |
How do you get subtitles in another language?
Ask for the language by code, and only for languages the video already carries, either as a creator-uploaded translation or as one of YouTube's auto-translated tracks. In yt-dlp, --list-subs prints what exists and --sub-langs es fetches the Spanish track.
The YouTube Video Transcript app has no language picker as of August 2026. It takes manual English captions first, auto-generated English next, and otherwise whatever track the video carries, so a Spanish video comes back in Spanish. When you need a specific track, the API takes a lang parameter and tells you in the response which language it served, along with the other tracks the video has (see the transcript endpoint docs).
Nothing here translates anything. YouTube's auto-translated tracks are machine translations of the original captions and read like it, particularly on technical material. A translation the creator uploaded is the accurate one when a video has both.
How do you download auto-generated subtitles?
Auto-generated captions download exactly like manual ones, because they are stored the same way. Downloaders take the manual track when a video has one and fall back to the machine track when it does not. In yt-dlp, --write-auto-subs requests the machine track explicitly.
To see which kind a video carries, open YouTube's transcript panel and read the language dropdown: a machine track is labeled as auto-generated there. The YouTube Video Transcript transcript endpoint reports the same distinction as a field in its JSON response, so a script can branch on it without opening the video.
Auto-captions lose accuracy in five recurring situations:
- Heavy accents and non-native speakers
- Technical jargon, brand names, and acronyms
- Two or more people talking over each other
- Background music or crowd noise
- Whispered or very fast speech
None of that is fixable at download time. The text sitting on YouTube's servers is what every tool receives, word for word. If a video's auto-captions are unusable and accuracy matters, the fix is transcribing the audio again, not downloading it again.
Why did your subtitle download fail?
The video has no captions at all
Some creators disable captions, and YouTube does not auto-caption every language. When YouTube holds no track, nothing can be extracted from it. In a bulk job on YouTube Video Transcript those videos are labeled No captions in the video list and the credit is refunded, so you can see why a file is missing from the ZIP.
The subtitles came back in the wrong language
YouTube sometimes labels a track with the wrong language, which shows up most on multilingual videos. In yt-dlp, --list-subs shows every track so you can name the right one with --sub-langs. Through the YouTube Video Transcript API, the response reports the language it served and the tracks it could have served instead.
The auto-captions are garbled
Poor audio produces nonsense captions, and the nonsense is stored on YouTube rather than introduced during download. Every tool receives the same text. Re-downloading changes nothing.
The SRT will not import into your editor
Check three things in order. The file encoding should be UTF-8, or accented characters break. The extension should be exactly .srt, not .srt.txt, which is what a browser sometimes appends. The cue separator should be --> with a space on each side, since some editors reject the line otherwise.
What does downloading YouTube subtitles cost?
Copying from YouTube's transcript panel is free. yt-dlp is free and open source and stays free at any volume, which is the right answer for anyone happy in a terminal. YouTube Video Transcript charges for the part yt-dlp leaves to you: finding every video on a channel, and getting the result back as one archive with a status per video.
| Plan | Price | Transcripts |
|---|---|---|
| Free | $0 | 30 a month, after a Google sign-in |
| Starter | $9/month | 1,000 per month |
| Pro | $19/month | 5,000 per month |
| Business | $49/month | 20,000 per month |
Allowances reset on your billing anniversary, and unused transcripts do not carry into the next month, so the tier to buy is the one that fits a normal month rather than your largest one. There are no credit packs and no trial on the paid plans; the free 30 a month simply keeps running. Full pricing sits on the pricing page.
For one video, or for anything you are willing to babysit in a terminal, use YouTube's panel or yt-dlp and pay nothing. For a playlist or a channel, paste the URL into YouTube Video Transcript, tick the videos you want, pick SRT, and take the ZIP. Thirty transcripts a month are free after a Google sign-in, and 1,000 a month is $9.
Frequently asked questions
Can you download subtitles from YouTube?
Yes. YouTube has no download button for captions, but the caption tracks are readable four ways: copy the text out of YouTube's built-in transcript panel, run yt-dlp from a terminal, use a browser extension, or paste the URL into a bulk downloader such as YouTube Video Transcript. All four read the same tracks YouTube already stores, and all four work with manual and auto-generated captions alike.
How do I download YouTube subtitles as SRT?
Pick SRT as the output format in a downloader that offers it. YouTube Video Transcript exports SRT directly. yt-dlp needs a conversion step, because YouTube serves caption tracks as WebVTT and a few XML and JSON variants rather than SRT: add --convert-subs srt, which yt-dlp runs through ffmpeg. An SRT file numbers each cue and separates start and end times with an arrow, which is the shape Premiere Pro, DaVinci Resolve, and VLC expect.
How do I download auto-generated subtitles from YouTube?
Auto-generated captions download exactly like manual ones. YouTube Video Transcript takes manual captions first and falls back to the auto-generated track when a video has no manual one. In yt-dlp, --write-auto-subs requests the machine track explicitly. To check which kind a video carries, open YouTube's transcript panel: the language dropdown labels a machine track as auto-generated. Auto-captions lose accuracy on technical terms, proper nouns, heavy accents, and overlapping speech.
Can I download YouTube subtitles in a different language?
Only in languages the video already carries, either as a creator-uploaded translation or as one of YouTube's auto-translated tracks. yt-dlp lists them with --list-subs and fetches one with --sub-langs es. The YouTube Video Transcript app has no language picker: it takes manual English captions first, auto-generated English next, and otherwise whatever track the video carries, so a Spanish video comes back in Spanish. The API takes a lang parameter when you need a specific track. Neither the app nor the API machine-translates.
What is the difference between subtitles and transcripts?
The source data is identical: YouTube's timed caption track. The file format decides the label. Subtitle formats such as SRT and WebVTT keep the start and end time of every cue, so a player or editor can sync them to the picture. A transcript format such as TXT usually drops the timings and leaves running text, which is what you want for reading, searching, or pasting into an LLM.
How do I download YouTube subtitles on mobile?
Use a browser-based downloader such as YouTube Video Transcript in your phone's browser, since the YouTube app has no caption export and Chrome on Android and iOS runs no extensions. Paste the video URL, pick a format, and the file downloads to the phone. yt-dlp can run on Termux on Android or iSH on iOS, but both need command-line setup first.
Related articles
Turn a YouTube lecture playlist into searchable study notes
YouTube Video Transcript downloads lecture transcripts in bulk. Build searchable notes with a course index, review questions, and links to the original lessons.
Read more →
Turn your YouTube archive into articles and newsletters
YouTube Video Transcript exports your archive in bulk. Find stories and explanations in old videos, then reuse them in articles and newsletters with source links.
Read more →
How to download YouTube comments and replies to CSV or JSON
YouTube Video Transcript collects comments and replies into CSV and JSON for research. Export a video, playlist, or channel with a budget you choose.
Read more →