YouTube Transcript 100% in-browser

YouTube Transcript Generator

Turn a YouTube video into text, SRT or VTT subtitles — with timestamps. Everything runs on this device; your file is never uploaded.

Yes — you can get a transcript from a YouTube video here, free, with no account and nothing uploaded.

  • You bring the file. If the video is yours, YouTube Studio offers a download on it. Drop that MP4 in below — or any audio file.
  • You get text with timestamps, and the same transcript exports as SRT or VTT subtitles.
  • It runs in this browser. The video is decoded here and the speech is transcribed here. Nothing is sent anywhere.

One honest caveat: there is no box here that fetches a YouTube URL. This page has no server, so it cannot pull a video for you — why that is, and when you may not need this tool at all.

Drop a video or audio file here

or

MP4 · MOV · WEBM · MP3 · WAV · M4A · OGG · AAC · FLAC — any video or audio, not just YouTube

What this YouTube transcript generator does

It takes a video or audio file that is already on your device — the MP4 you exported from your own upload, a screen recording, a voice memo, a downloaded audio track — finds the speech in it, and writes the words out as text with a timestamp on each line. From that same transcript you can export SRT or VTT subtitle files, which is what you want if the transcript is going onto a video rather than into a document.

The engine is OpenAI's Whisper, running locally through WebAssembly. There is no server behind this page, which is the single most important thing to know about it, because it decides both what it can do for you and the one step it cannot do.

Why there is no link box that fetches the video

Nearly every other tool in this category accepts a YouTube URL and returns a transcript. They can only do that because they run a server: the server downloads the video on its own machine, extracts the audio, transcribes it there, and sends you the text. That is a real capability, and it is also the reason those tools need your link, and the reason your video passes through someone else's computer.

This page deliberately has no server. It cannot fetch a video, and it will not pretend to. A URL box that looks like it fetches while quietly posting your link to a backend would be worse than saying this plainly — so the box above tells you the truth and points you at the file drop instead.

The trade-off is worth stating without spin: you have one extra step — getting the file onto your own device — and in exchange nothing about the video or the transcript ever leaves it. No upload, no queue, no retention policy to read, no account, and no copy of your file on someone else's disk.

When you do not need this tool at all

Worth checking before you spend time on it: most YouTube videos with speech already carry a caption track, and reading it may be all you need. Reach for this page when one of these is true instead.

How to get the video file in the first place

This is the step the other tools hide from you, so here it is plainly. If the video is yours, YouTube Studio offers a download option on your own uploads — that MP4 is exactly the file this page wants. If you already have the audio as a separate file, use that instead: it is smaller, uploads faster and transcribes identically, because the audio is all this page ever looks at.

If the video is not yours, YouTube's terms do not allow downloading it, and this page is not a way around that. Where a video already has captions, reading them is the intended route. Where you have a copy legitimately — the creator sent you the file, you recorded the call, you were given the footage — drop it in and it will transcribe the same as any other file.

Where the transcription model comes from

Three Whisper models are stored on this site and served from this site's own address: whisper-tiny.en (41 MB, English only), whisper-tiny (42 MB, multilingual) and whisper-base (76 MB, multilingual, the default). The browser downloads one of them on the first run and caches it; every run after that starts from the cache.

That detail sounds like plumbing. It is not. Most in-browser transcription tools pull their model weights from a third-party model host on first use, which means the tool only works if that host is reachable from your network — and there are networks, including many mobile networks, where it is not. Here the weights come over the same domain as the page you are already reading. If this page loaded, the model will download.

The dropdown also lists whisper-small, which is not stored on this site. It is roughly 240 MB, which is too large for this site to host, so it has to come from the third-party host and may not be reachable from where you are. If you pick it and it cannot be fetched, the run stops and says so, naming the model — it does not sit there retrying something that cannot succeed. If you want accuracy above whisper-base, the honest options are a desktop machine on an unrestricted network, or accepting base.

What you get out: TXT, SRT and VTT

TXT is plain text with a timestamp at the start of each line — the format to read, quote or paste somewhere else. SRT and VTT are subtitle formats: numbered cues with start and end times, accepted by most video editors (CapCut, Premiere Pro, DaVinci Resolve, Final Cut) and by YouTube's own caption upload, so a transcript you made here can become the captions on a video. All three come from the same run — switch the format button and the text is reformatted, no second transcription.

Accuracy: what this page will and will not claim

There is no accuracy percentage printed anywhere on this page, on purpose. Whisper's word error rate swings enormously with audio quality, accent, background music, crosstalk and speaking speed, so one headline number would be marketing rather than information — and the material people bring here is often the hard case, since short clips are typically music-backed and spoken fast.

What can be said precisely: the models offered are the official Whisper checkpoints converted to ONNX by the open-source Xenova project, and larger models are generally more accurate than smaller ones. whisper-tiny is the fast option, whisper-base the default, and if a transcript matters, use base and listen back to the parts that look wrong. Proper nouns, brand names and numbers are where every speech model, this one included, is least reliable.

Long videos, phones, and running out of memory

The limit on this page is not video length, it is your device's memory: the whole audio track is loaded into memory before transcription starts, so a two-hour recording on a low-memory laptop can fail where a ten-minute clip on the same machine succeeds. Splitting a long recording into parts is the usual fix, and the parts can be transcribed one after another.

Two behaviours are worth knowing about, because they are what makes a failure here readable rather than mysterious. First, if a run fails because the model did not fit in memory, the page steps down to a smaller model and tries again, then tells you it did — and remembers the step-down on that device, so the next visit does not repeat the whole failure. Second, if the tab is killed outright mid-run — the browser reclaiming memory, the phone sleeping, the app being closed — nothing on the page can report that, because no code runs at all when a page is killed. So the run is marked before it starts and the mark is cleared when it ends; if you come back and the mark is still there, the page says the previous run did not finish instead of silently starting over.

On a phone, prefer whisper-tiny and short clips. Mobile browsers give a tab far less memory than a desktop, and background tabs are the first thing a phone reclaims.

Supported input formats

Anything your browser can decode. In practice that means the common containers: MP4, MOV, WEBM, MP3, WAV, M4A, OGG, AAC, FLAC. Video files are the normal case — the audio track is extracted in the browser before transcription, and the picture is never decoded.

Supported languages

The multilingual models (whisper-tiny, whisper-base, whisper-small) auto-detect the spoken language and transcribe in it rather than translating. Whisper's published language list covers 99 languages. The whisper-tiny.en model is English-only.

Source for the 99-language figure: the Whisper model card published by OpenAI (openai/whisper on Hugging Face), which lists the supported languages and their language codes. Common ones include English, Spanish, French, German, Portuguese, Italian, Japanese, Korean, Chinese, Arabic, Hindi, Russian, Turkish, Vietnamese, Thai and Indonesian.

FAQ

Can I paste a YouTube link and get the transcript?

Not on this page, and that is a deliberate choice rather than a missing feature. This page has no server, so there is nothing that could fetch a video for you, and no public endpoint returns a video's transcript. You bring the file; the transcription then runs on your own device.

Is anything uploaded to a server?

No. The file is read and decoded in the browser, and the Whisper model runs in the browser via WebAssembly. There is no backend to upload to. The only network requests are the one-time download of the model weights from this site and a small, cookieless page-view count reported to Cloudflare Web Analytics — the privacy policy lists exactly what each of them is.

You do not have to take that on trust, either. Open your browser's developer tools, switch to the Network tab, and start a transcription: no request appears that carries your file, because none is made. What you will see is the model download and nothing else.

Where does the transcription model come from?

From this site. whisper-tiny.en (41 MB), whisper-tiny (42 MB) and whisper-base (76 MB) are stored on this domain and served from it, so the first run does not depend on any third-party model host being reachable. The browser caches the model after the first download.

Why is the first run slow?

The model weights are fetched once and then cached by the browser. whisper-tiny is 42 MB and whisper-base is 76 MB, so the first run moves tens of megabytes before any transcription starts. That is why the progress line names the size. After that the cached model loads quickly.

Does it work with long videos?

The limit is not length but your device's memory, because the whole audio track is loaded into memory before transcription. Long recordings on a low-memory machine can fail; if the failure is an out-of-memory error the page automatically steps down to a smaller model and says so, and the step-down is remembered so the same device does not repeat the failure next time.

Does it work on a phone?

The layout adapts down to phone widths, and transcription does run in a mobile browser, but it is heavy work. On a phone, prefer whisper-tiny and short clips. If a tab is killed mid-run by the browser or the system, the next visit says the previous run did not finish rather than silently starting over.

What are TXT, SRT and VTT?

TXT is plain text with timestamps at the start of each line. SRT and VTT are subtitle formats: numbered cues with start and end times, accepted by most video editors and by YouTube's own caption upload. If you want to put subtitles on a video, export SRT or VTT rather than TXT.

How accurate is it?

No percentage is printed on this page, because word error rate depends on audio quality, accent, background music and speaking speed, so a single headline figure would be marketing rather than information. What is precise: the models are the official Whisper checkpoints converted to ONNX by the Xenova project, and larger models are generally more accurate. If a transcript matters, use whisper-base.

Privacy

Nothing you drop here is transmitted anywhere. There is no account and no cookie. Page views are counted by Cloudflare Web Analytics, which sets no cookies and does not fingerprint visitors; the privacy policy says exactly what it records. Close the tab and the file is gone.

Working with TikTok and Instagram clips too

Nothing on this page is specific to YouTube except the wording. The same engine handles the other short-video platforms on their own pages: the TikTok transcript generator for TikTok video transcription, and the Instagram transcript generator for Instagram Reels — same in-browser engine, same no-upload promise, same SRT and VTT export.