Instagram Transcript Generator
Choose a video file and the words spoken in it come back as text you can copy or export. Everything happens inside this browser tab — your video is never uploaded.
Language: pick the one that is actually spoken. This build does not guess — set it to English while the audio is something else and the text comes back wrong. Model: downloads on first use and is then cached — Better accuracy is 79.7 MB, Smaller download is 43.6 MB.
Preparing the speech model…
Working…
Transcript
What this tool does
You give it a video file. It takes the audio track out of that file and runs speech recognition on it, so what comes back is a video transcript you can read, search or paste anywhere. Turn timestamps on and the same text also becomes a subtitle file you can drop straight into a video editor.
It is built for Instagram videos — a Reel, an IG Reel or an Instagram video post you have saved as a file — but it does not care where the file came from. Anything with a spoken-word audio track works. Anything printed on the picture — stickers, burned-in captions, the username — is pixels, not speech, and is not read. This tool only hears.
Where your video goes: nowhere
Your video is never uploaded. The file is read, decoded and transcribed inside this browser tab. No part of it — not the video, not the extracted audio, not the finished text — is sent to any server, including ours, because there is no ours: this page has no backend at all.
Two things do get downloaded, and it is worth being exact about them, because a page that says "nothing is sent" while quietly fetching things is not telling you the whole story:
- The recognition library, from
cdn.jsdelivr.net— about 4 MB, cached by your browser like any other web file. - The speech model, from
huggingface.co— the first time you use a model, then your browser keeps it cached and later visits skip the download. Sizes are in Limits below.
Measured, on a browser that had never seen this page: the first visit with the smaller model transferred 45.9 MB, and a second visit of that same model transferred nothing at all. The larger model is bigger, but it behaves the same way — the download is paid once per model per browser, not per use. That matters if you are on mobile data.
- Where the work happens. All of it in your browser, using the CPU of whatever device you are on. The numbers below were measured on a two-core machine; a modern phone is slower and a desktop is faster.
- How fast. Expect to wait roughly half to two-thirds of the length of the audio on a modest machine, and longer on a phone. Measured on a two-core machine: a 43-second clip took anywhere from 18 to 42 seconds across a dozen runs — that spread is the machine being busy, not the model being unpredictable — and a 161-second clip took 112 seconds.
- What it downloads. Better accuracy is 79.7 MB of model files on first use. Smaller download is 43.6 MB. Switching between them downloads the other one too. Your browser caches whichever you have used, so this is a first-time cost per model, not a per-run cost — measured, a repeat visit transferred zero bytes of model.
- What formats. The page keeps no list of its own — it hands your file straight to the browser and uses whatever the browser can decode, so your browser decides this, not the page. Measured: in Chrome, MP4, MOV, M4V, MKV, WebM, M4A, OGG, FLAC, MP3 and WAV each produced a transcript; in a Firefox build, this same page also ran end to end. Safari was not tried, so this page does not promise it. A file the browser cannot open is reported as such rather than half-processed.
- One file at a time, and there is a real ceiling. The whole file is held while its audio is decoded, and the decoded audio is the expensive part — the browser hands it back as 32-bit samples at the file's own rate and channel count, which is 384 KB for every second of 48 kHz stereo, about 23 MB a minute. Measured on a four-gigabyte machine: a 10-minute file decoded in 10.5 seconds and went through; a 20-minute file was refused. Length alone is not the limit — a 30-minute file decoded fine when its audio was 16 kHz mono, a sixth of that size — so what decides it is how big the decoded audio is, not how long the clip is. Two smaller files that also go through cleanly: a 6.3 MB, 43-second MP4 and a 1.3 MB, 161-second MP3.
- Timestamps. Generated by the model at roughly sentence length. They are good enough to line subtitles up with speech, and are not frame-accurate. Long audio is handled in 30-second chunks internally, and the times in the exported files are measured from the start of the whole file — a 161-second clip produced 27 cues, the last ending at 154 seconds.
- Which model to pick. Better accuracy is the default, and it is the one to keep unless the download size is a problem. The names are not marketing: on the same 43-second clip, Better accuracy produced "the 60th September Princess of Wales Theatre" where Smaller download produced "The process of the of Wales theatre". The smaller model makes more mistakes, and it is not the quicker of the two — run back to back on the same machine, it was the slower one.
- If your device runs short of memory. The tab can be killed outright, and a page that has been killed cannot tell you anything — you would simply see it stop, with no message. This was observed rather than imagined: on a four-gigabyte machine that was itself nearly out of memory, the tab disappeared while preparing the model and left nothing on screen. Closing other tabs and apps before a long file is the only remedy this page can offer.
- Music-only clips produce nothing useful. If the file has no spoken words, the page says no speech was found rather than handing you a transcript made of silence. That is correct behaviour, not a bug.
- Get the video onto your device as a file. Your own posts can be saved from Instagram; for someone else's Reel there is no download button, so a screen recording while it plays is the usual route. This page has no link box and never talks to Instagram — it only reads a file you already have.
- Choose that file at the top of this page, or drag it onto the box.
- Set the spoken language, then wait. The model downloads on first use, and the transcription itself runs at about playback speed on a modest machine.
- Copy the text, or export it as
.txt,.srtor.vtt.
Those are the only two hosts this page talks to. Both requests ask for a fixed public file, and neither one contains anything from the file you chose.
Files, sizes and how long it takes
Languages
The list in the picker is built from the speech model's own configuration file, read at load time, so it contains exactly the languages that model accepts and nothing else — no entry in it can fail when you choose it. The multilingual Whisper models this page uses accept 99 of them.
It does not auto-detect. The previous, server-based version of this page did, but the browser build of the same library has no detection step, so it would be a lie to offer it. Pick the language yourself; English is selected by default. Get it wrong and the transcript comes back as confident nonsense, which is worth knowing before you judge the result — measured, the same English clip run with the picker set to Spanish produced 404 words of repeated Spanish instead of the 54 English words it actually contains.
Accuracy varies by language and by how clean the audio is. Measured on 20 seconds of English speech with the smaller model, scoring each version against that same clip transcribed clean: a music bed 6 dB below the voice cost 24% of the words, one level with the voice cost 27%, one 6 dB above cost 43%, and one 12 dB above cost 84%. A simulated room — 0.6 seconds of reverb, with noise 20 dB below the voice — also cost 84%. The music bed and the room are both generated test signals, not recordings of a real song or a real room.
How to use it
FAQ
Do I need an Instagram account?
No. There is nothing to sign in to, no signup and no paywall, on your side or anywhere else — this page has no server to sign in to. See Where your video goes.
Can I paste an Instagram link?
No, and this page does not pretend otherwise — there is no link box. Fetching a post from a URL needs a machine somewhere running a fetcher, and this version was deliberately built without one so that nothing has to stay running and nothing of yours leaves the device. You bring the file; the page does the reading.
Is this the same as an Instagram Reels to text converter?
Yes. Instagram transcript generator, Instagram Reels to text, Instagram video to text, Instagram to text — those are names for one job: getting the words out of a video and into a document. An Instagram Reels transcript, an Instagram video transcript and an Instagram Reel to text run all end up here, and here is the whole tool — the transcript appears on this page, with nothing hidden behind another click.
Why did my video come back empty?
Three usual causes: the file has no speech in it, the language picker is set to a language other than the one being spoken, or the music is loud enough to bury the voice. The third one is real and measured — see the numbers under Languages. Try a clip you know has clear talking, with the right language selected. If the file itself could not be read at all, the page says so instead of showing an empty box.
Does it work offline?
After the first run, partly. The library and the model are both cached by your browser, so a repeat visit can start work without downloading them again. The very first run of each model needs a connection.
How long can the video be?
Nothing in the page imposes a length limit, but two real ones apply, and the first is memory. The whole file is held while its audio is decoded, and the decoded audio is what costs: the browser gives it back as 32-bit samples at the file's own rate and channel count, so 48 kHz stereo is 384 KB for every second, roughly 23 MB a minute. On a four-gigabyte machine, measured, 10 minutes decoded and 20 minutes was refused — but a 30-minute file decoded when its audio was 16 kHz mono, so a shorter clip or a lower-rate one is easier in the same proportion. The second limit is time: transcription runs at roughly half the length of the audio on a modest machine, so a long video means a long wait. Short clips are what this tool is comfortable with.
If your file is refused, the message cannot tell you which of three things went wrong — there is no audio in the file, the audio is in a codec the browser does not have, or the file is too large for the tab — because the browser reports all three the same way and no page can see the difference. Two ways to find out: play the file and check that it has sound in it, and try a shorter clip.
Where do the downloaded files go?
Your browser's normal Downloads folder. That is your machine and your call — nothing about the export passes through any server.
What stays on my device after a run?
The cached speech model (79.7 MB for Better accuracy, 43.6 MB for Smaller download) so the next run is quicker, and whatever you exported. The video you chose is not copied anywhere by this page, and the transcript exists only in this tab until you copy or download it. Clearing your browser's site data removes the model too.