How to Get a Transcript of a YouTube Video (2026 Guide)
Skip the steps below. Paste a link and get the full transcript.
Free, no signup to try.
There are four ways to get the transcript of a YouTube video, and which one you should use depends on whether the video has captions, how long it is, and what you plan to do with the text afterwards.
This guide covers all four, including the cases where the usual advice quietly fails: videos with captions disabled, long videos where copying by hand is not realistic, and scripted approaches that work locally and then break in production.
Quick answer
- Video has captions, you just want to read it: use YouTube's built-in transcript panel. Free, thirty seconds.
- You want clean, punctuated text you can paste somewhere: use a transcript tool. The panel's raw output needs work.
- Captions are disabled: you need a tool that transcribes the audio, because there is no caption track to read.
- You are doing this in code, repeatedly: you need residential proxying, or you will get blocked. More on that below.
Method 1: YouTube's built-in transcript panel
YouTube exposes a transcript for most videos that have a caption track.
- Open the video on desktop.
- Click ...more in the description box under the title.
- Scroll down and click Show transcript.
- A panel opens to the right of the video with timestamped lines.
You can click any line to jump to that moment, and the small ⋮ menu inside the panel lets you toggle timestamps off, which makes the text easier to copy.
What this method is good for: reading along, finding a specific quote, jumping to a moment. It is free and requires nothing.
Where it falls down: auto-generated captions usually arrive with no punctuation and no capitalization, which makes them awkward to read in bulk. There is no export button. The panel does not exist at all if the uploader disabled captions. And on mobile the panel is harder to reach, which is covered in getting a YouTube transcript on your phone.
Method 2: Copy the text out of the panel
If you only need the words, you can select them straight out of the transcript panel and paste them into a document.
Turn timestamps off first (the ⋮ menu inside the panel), then click at the top of the transcript, scroll to the bottom, and shift-click to select the whole range.
This works, but it gets unpleasant fast. The panel is virtualized, so on a long video you have to scroll the entire transcript before the selection captures everything. On a two-hour podcast that is several minutes of scrolling, and if you misjudge it you silently lose the middle. The full walkthrough, including the parts that go wrong, is in how to copy a transcript from YouTube.
Method 3: Use a transcript tool
A dedicated tool skips the panel entirely. You paste the video URL and it returns the transcript already cleaned up.
With Brevyd's YouTube transcript generator you get punctuated, paragraphed text with timestamps you can keep or drop, and it works on videos that have no caption track at all, because it transcribes the audio rather than reading captions.
From the same transcript you can:
- Take the plain text without timestamps for quoting or notes.
- Summarize the video if you want the key points instead of every word.
- Export an SRT subtitle file.
- Generate chapters from the structure of the talk.
This is the right method when the output has to be usable rather than just visible.
Method 4: Fetch transcripts in code
If you need transcripts programmatically, the standard starting point is a library like Python's youtube-transcript-api. It works immediately on your laptop, which is why so many tutorials recommend it.
Then you deploy it, and it starts failing.
The reason is that YouTube blocks datacenter IP ranges. Your home connection is a residential IP and passes fine. AWS, GCP, Vercel, Railway, and every other host you might deploy to are datacenter IPs, and requests from them get refused. In practice you see IpBlocked, RequestBlocked, or an empty transcript list on videos you know have captions. Nothing about your code changed; only the IP did.
Working around it properly means routing requests through residential proxies with sticky sessions, and keeping up with the client changes YouTube makes periodically. That is real infrastructure, not a config flag, and it is the reason most hobby projects in this space eventually stop working.
If you would rather not run that yourself, Brevyd's transcript endpoint handles the proxying, so a request that would fail from your server succeeds through it.
What to do when there is no transcript panel
If Show transcript is missing, one of these is true:
- The uploader disabled captions. There is no caption track to display. Only audio transcription will get you text.
- The video is very new. YouTube's automatic captions take anything from a few minutes to a few hours to generate after upload. Wait and check again.
- The language is not supported for automatic captions. Coverage is good but not universal, especially for smaller languages.
- It is a live stream in progress. Live captions exist while streaming but the transcript panel usually appears only after the stream is processed into a normal video.
- The video is private, unlisted with restricted access, or age-gated. No tool can legitimately reach these on your behalf.
For the first case, which is by far the most common, see how to get a transcript when captions are disabled.
Automatic vs uploaded captions, and why accuracy varies
Not all caption tracks are equal, and this explains most complaints about transcript quality.
Automatic captions are YouTube's speech recognition output. They are decent on clear single-speaker audio in English and noticeably worse with accents, crosstalk, background music, or technical vocabulary. They carry no punctuation, which is why raw transcripts read as one endless sentence.
Uploaded captions are supplied by the creator, often professionally transcribed. They are punctuated, properly cased, and far more accurate. Larger channels frequently have these.
You cannot choose which one exists, but it is worth knowing which you are looking at, because it sets a ceiling on quality that no downstream tool can fully undo. A good tool can restore punctuation and paragraphing; it cannot recover a word the recognizer never heard correctly.
The related distinction between transcripts, captions, and subtitles is covered in transcript vs captions.
Getting the transcript in another language
Two different things get confused here.
Translated captions: YouTube can auto-translate an existing caption track into another language from the transcript panel's language selector. Quality is machine-translation quality, applied on top of speech recognition, so errors compound.
Transcribing a foreign-language video into English: this is a transcription job, not a translation of existing captions, and it generally produces better results because it works from the audio. Brevyd supports 40+ languages and can return English output from a foreign-language source.
Which method should you use?
| Situation | Best method | |---|---| | Quick read, video has captions | Transcript panel | | Need clean text to paste or quote | Transcript tool | | Captions disabled | Audio transcription | | Long video, want the whole thing | Transcript tool (copying by hand is not viable) | | Repeatedly, in code | Residential-proxied API | | Just want the key points | Summarizer |
Frequently asked questions
Can I get a transcript of a video that has no captions? Yes, but only with a tool that transcribes the audio directly. Anything that reads the caption track will return nothing, because there is nothing to read.
Is there a free way to do this? YouTube's transcript panel is free and always will be. Brevyd's transcript tool is free to use without an account for a limited number of videos.
Can I get a transcript of a private or unlisted video? Not through a third-party tool. If you own the video, use YouTube Studio's own subtitle tools.
Does the transcript include timestamps? The panel shows them by default and lets you hide them. Brevyd returns timestamped segments that you can keep or strip depending on what you need.
Why does my script work locally but fail on my server? Almost certainly datacenter IP blocking. See method 4 above.
How long does a two-hour video take? Reading an existing caption track is near-instant. Transcribing audio from scratch takes longer, though still well under a minute for most videos.
Want the transcript without any of the above? Paste a YouTube link and get it in seconds.