Get a YouTube transcript as plain text
Paste a YouTube link and this tool returns the video's spoken content as clean, plain text you can copy or download. It reads the video's public captions — both human-written subtitles and YouTube's auto-generated ones — and strips the timing, so you get readable prose instead of a subtitle file.
How it works
Your browser can't read YouTube's captions directly — CORS blocks it, and YouTube's bot protections require tokens a page can't mint. So the tool sends only the video URL to our server, which fetches the public caption track and returns it as plain text. Nothing is stored, and there's no sign-in.
Which links work
| Input | Example | Works |
|---|---|---|
| Watch URL | https://www.youtube.com/watch?v=ID | Yes |
| Short link | https://youtu.be/ID | Yes |
| Shorts | https://www.youtube.com/shorts/ID | Yes |
| Embed / live | https://www.youtube.com/embed/ID | Yes |
| Bare video ID | dQw4w9WgXcQ | Yes |
Steps
- Copy the YouTube video link.
- Paste it into the box and click Get transcript.
- If the video offers more than one caption language, pick a track from the dropdown.
- Copy the text or download it as a
.txtfile.
For example, pasting https://youtu.be/dQw4w9WgXcQ returns that video's full spoken text as one plain-text block, ready to paste into notes, a summary prompt, or a document.
Manual vs auto-generated captions
| Track type | Source | Accuracy | Note |
|---|---|---|---|
| Manual | Uploader-written subtitles | Highest | Not every video has them |
| Auto-generated (ASR) | YouTube speech recognition | Good | Marked "(auto-generated)" in the list |
When both exist, the tool defaults to the manual track because it's more accurate; switch to an auto-generated track from the dropdown if you need a different language.
When it can't fetch
Videos with no captions, or that are private, age-restricted, or region-locked, can't be transcribed. YouTube also changes its internals over time, so an occasional fetch failure is expected — try again or try another video. Throughout, only the URL is sent to our server, which returns the captions as plain text; nothing is stored.
