← All guides

Best free ways to get a YouTube transcript

Written by the VidWords Team · · Updated · Report a correction

An honest comparison — including when you don't need a tool like ours at all.

The short answer

1. YouTube's built-in transcript viewer

Under any video: …more → Show transcript. Free and official. Fine for reading along; painful for everything else — copying grabs timestamps line-by-line, there's no export, no search across videos, and nothing for playlists or channels.

It's worth being precise about what the panel does, since it's the one method that involves no third party at all. On desktop, open a video, expand the description, and click Show transcript: a panel appears beside the player listing the captions line by line, and clicking a line jumps the video to that moment. What it has no button for is getting the text out. Your only route is to drag-select the panel, paste it somewhere, then strip hundreds of timestamps and rejoin the broken lines by hand. The panel exists on mobile too, but selecting text out of it is fiddlier still.

2. A transcript website (like VidWords)

Paste a URL, get clean paragraphs, search inside, export to 5 formats, do whole playlists/channels in bulk, and automate over an API. VidWords gives 25 free transcripts a month with a free account, or 3 with no account at all. The trade-off of any hosted tool: monthly limits beyond the free tier.

Concretely that means TXT, SRT, VTT, CSV, and JSON exports; text merged into readable paragraphs with the video's chapter headings and a clickable timestamp per paragraph; in-transcript search; a language dropdown whenever a video carries more than one caption track; bulk extraction of up to 500 videos from a playlist or channel, or 200 pasted or uploaded URLs; and a REST API whose token is included on every plan, Free included.

3. Open-source libraries

If you write code, youtube-transcript-api (Python) and yt-dlp are excellent and free. You'll handle formatting, rate limits, and — at any real volume — YouTube blocking datacenter IPs, which is exactly the infrastructure a hosted tool maintains for you (rotating residential proxies, retries, caching).

4. Downloading caption files

Tools like yt-dlp can save raw .vtt/.srv caption files. Accurate but raw: duplicated rolling-caption lines, cue formatting to clean up, and again IP blocking at scale.

5. The official YouTube API — the route that doesn't exist

It's the first thing most developers try, so it's worth ruling out explicitly. The YouTube Data API v3 has a captions resource, but the official captions.download documentation states that the method requires OAuth authorization and permission to edit the video — it exists so authorized creators and content owners can manage their own caption tracks. captions.list will tell you which tracks exist and in which languages; it won't hand over the words. Creators can likewise download their own tracks from YouTube Studio. For a public video you don't control there is no API-key-only official endpoint, which is why every method above is, in one form or another, a workaround.

Getting from raw captions to usable text

Whichever free route you take, the same problem waits at the end. YouTube stores captions as short timed fragments of one to five seconds each, sized for display along the bottom of a player rather than for reading, so dumping them out gives you no sentences, no paragraphs, and a timestamp every few words. Automatic tracks add their own quirks: sparse punctuation, no speaker labels, and duplicated lines wherever rolling captions scroll. Budget for that cleanup, or pick a method that does the merging for you.

Which export format you want depends on where the text is going. TXT is just the words, for reading, quoting, or pasting into an LLM. SRT is the universal subtitle format that video editors and media players accept. VTT is the web-native equivalent that HTML5 <track> elements expect. CSV puts one cue per row with its timings, so a spreadsheet can sort and annotate it. JSON is the same cue data structured for scripts and search indexes. A rough rule: 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 — and a method that produces only one of them eventually costs you a conversion step. Our guide to downloading YouTube subtitles as SRT, VTT or TXT goes format by format.

Which should you use?

You want…Use
To read along with one videoYouTube's built-in viewer
Clean text, exports, search, summariesA transcript site — try VidWords free
Whole playlists or channelsBulk extraction
To build your own pipelineOpen-source libs, or the API when blocking starts to hurt

When none of them will work

No method on this page can retrieve a caption track that doesn't exist. That covers a video uploaded so recently that captions are still processing, a music video with little recognizable speech, a video whose creator supplied no captions and for which no automatic track was produced, speech in a language YouTube doesn't auto-caption, and anything age-restricted, private, or members-only. Auto-captions explained covers how to tell which case you've hit and what to do about each.

Get a free transcript →