Free tool

YouTube Playlist Transcript Downloader

Paste any public playlist link and see its videos in order, then pull the transcript for whichever ones you need, with timestamps you can click. Useful when a course playlist would read faster than it plays.

Loading a playlist and extracting a transcript draw on two separate daily allowances — loading is roomy, extraction is not. Create a free account to lift both.

How it works

A YouTube playlist transcript download is really two jobs, and this page keeps them apart on purpose — one of them is cheap for us and the other is not.

  • Load. Paste a link containing list=, or a bare playlist ID. The videos come back in playlist order with their title, length, view count and publish date, so lesson three is still lesson three.
  • Extract. Each row has its own Extract transcript button. Press one and that caption track is fetched and opened underneath the row. Nothing is fetched until you press it — a page that auto-extracted the whole playlist would spend your entire daily allowance on a single paste.
  • Read or copy. Every timestamp opens the video at that second in a new tab, so a quote can be checked against what was actually said, and Copy puts the timestamped transcript on your clipboard.

Your browser never talks to YouTube and never holds an API key. Both requests go to our server, which does the fetching.

The two daily limits, and why they are different

Most free tools hide their limits until you hit one. These two are worth explaining, because the gap between them is the whole economics of the service.

ActionFree allowanceWhy
Loading a playlist15 lookups per dayA metadata request. It costs us almost nothing, so the bucket is roomy and you can browse several playlists before it matters.
Extracting a transcript3 extractions per dayCaption tracks are fetched through metered residential bandwidth billed to us by the gigabyte. That is the real cost here, so the free bucket is small and stated plainly rather than large and quietly throttled.

The hint under the input shows whichever allowance you have spent, in the wording the API itself returns, so you always know which of the two is running down. A free account replaces both with 20 credits and an API key.

Nothing runs in the background

The Extract all button does not start anything. It scrolls you to an explanation of why bulk extraction lives in the API instead. There is no hidden queue, no fake progress bar, and no request you did not press a button for.

Which playlists and videos will not work

Loading a playlist depends on YouTube serving it publicly; extracting depends on a caption track existing for that particular video. Both can fail, for different reasons.

  • Private playlists, Watch Later and Mixes. These are tied to a signed-in account or generated per viewer, so there is no public list to read.
  • Captions disabled by the uploader. Nothing to extract. Common on music and re-upload playlists.
  • Deleted or private entries. They can still occupy a slot in an old playlist, but the video behind them is gone.
  • Age-restricted videos. The caption track sits behind sign-in and cannot be read anonymously.
  • Very recent uploads. Automatic captions take a while to process after publishing.

When one row fails, the reason is shown on that row and the rest of the playlist is unaffected. Auto-generated captions also carry the usual speech-recognition mistakes — names, jargon and crosstalk are the usual casualties — so proofread anything you quote or publish.

Turning a course playlist into text

Reading a 40-video course takes an afternoon; watching it takes a fortnight. The pattern people use here is to load the playlist, extract the two or three lessons they actually need, and search the text instead of scrubbing the timeline. If you want the whole course at once, that is an API job rather than a browser one:

  • Request the playlist and keep its order.
  • Request a transcript per video ID, in JSON, TXT, SRT or VTT, on whatever schedule suits you.
  • Skip or retry the entries with no caption track, as your job requires.

A free account comes with an API key and 20 credits, and no card is asked for. The API reference covers the endpoints, the cookbook has a loop you can copy, and for a single video the transcript tool is quicker than loading a playlist around it.

Frequently asked questions

Can I download transcripts for a whole playlist at once?

Not from this page. Loading the playlist is free and instant, but transcripts are extracted one video at a time, because each one runs through metered residential bandwidth we pay for. For a whole playlist in one job, use the API: a playlist endpoint returns the same ordered list, and a transcript endpoint takes each video ID.

What playlist links work?

Any link containing a list= parameter — a playlist page, or a watch URL opened from inside a playlist — as well as a bare playlist ID such as one beginning with PL. Private playlists, Watch Later and auto-generated Mixes cannot be read, because YouTube ties those to a signed-in account rather than serving them publicly.

Why can I load 15 playlists a day but only extract 3 transcripts?

The two actions cost us very different amounts. Loading a playlist is a cheap metadata lookup, so that allowance is roomy. Fetching a caption track goes through metered residential proxy bandwidth, which is the genuinely expensive part of running this, so that allowance is small. The tool shows you which one you are spending, in the API's own wording.

Can I turn a course playlist into text?

Yes, and that is the common use. The list keeps the playlist's order, so lesson one stays lesson one, and each transcript comes with timestamps that link back to the exact second. For a full course in a single pass rather than three videos a day, the API is the right tool.

Why do some videos in a playlist have no transcript?

Because YouTube will not serve a caption track for them: captions disabled by the uploader, private or deleted entries that still occupy a slot in the playlist, age-restricted videos, or uploads so recent that automatic captions have not finished processing. The row will say so, and the rest of the playlist is unaffected.