Free tool · No signup
YouTube Transcript Generator
Paste a YouTube link and get the video's transcript as plain text you can copy, or download it as TXT, Markdown with timestamps, or SRT. Works for regular videos, Shorts and live replays that have captions.
How to use it
- Copy the video's link from the YouTube app or the address bar. A youtu.be link, a Shorts link or the 11-character video ID works too.
- Paste it above and press Get transcript. You get the captions in the video's own language first.
- To switch language, pick one from the list. It shows the caption tracks the video has, both uploaded by the creator and auto-generated.
- Copy the text, or download it. Turn on Timestamps to see where each part starts.
What you get
The transcript comes from the video's caption tracks on YouTube: captions the creator uploaded, or the ones YouTube generates automatically. Uploaded captions are usually cleaner. Auto-generated ones can lack punctuation and mishear names. The language list shows which kind each track is.
If a video has no captions at all, there is no transcript to get: this page doesn't run speech-to-text on the audio. Private, and members-only videos aren't supported either.
The Markdown download groups the text into paragraphs of about 30 seconds, each starting with a [m:ss] timestamp. It works well for notes, or as input for ChatGPT or Claude.
Do the same in code
This page runs on the YTAPI transcript API. With a key you can fetch transcripts from scripts, apps and AI agents, in bulk, without the limits of this page. New accounts get 200 free credits; one transcript uses one credit.
curl
curl "https://api.ytapi.dev/v1/transcripts?video_id=dQw4w9WgXcQ&format=text" \
-H "Authorization: Bearer $YTAPI_API_KEY"Python
# pip install ytapi-sdk
from ytapi import YTAPI
api = YTAPI() # reads YTAPI_API_KEY
print(api.get_transcript("dQw4w9WgXcQ", format="text"))JavaScript / TypeScript
// npm install @ytapi/sdk
import { YTAPI } from "@ytapi/sdk";
const api = new YTAPI(); // reads YTAPI_API_KEY
console.log(await api.getTranscript("dQw4w9WgXcQ", { format: "text" }));Frequently asked questions
Is it free?
Yes. You can get transcripts here without an account, about 10 videos every 10 minutes. For more, or to fetch transcripts from code, sign up for an API key: new accounts get 200 free credits and need no card.
Why does it say the video has no captions?
YouTube only has a transcript when the video has a caption track. Some creators turn captions off, and very new or very short videos sometimes have no auto-generated track yet. This tool doesn't transcribe audio.
Can I get the transcript in another language?
Yes, if the video has captions in that language. After the first fetch, the language list shows every caption track the video has. Pick one to load it.
Does it work for YouTube Shorts?
Yes. Paste the Shorts link (youtube.com/shorts/…) like any other video.
Can I get transcripts for a whole channel or playlist?
Not on this page, which takes one video at a time. The YTAPI API lists a channel's or playlist's videos and fetches up to 100 transcripts in one batch.