How to get captions on an Instagram Reel
Instagram's own captions are a publishing feature, not a transcript: you switch them on while you are making the Reel, and they stay attached to the video instead of becoming text you hold. Instagram's Help Centre describes the feature in its own words — auto-generated captions are produced by speech recognition, you add them before sharing by tapping the Stickers icon and selecting Captions, the Edits tool has its own Captions button, and a video that is already posted can have closed captions enabled or disabled from its edit options. The result is subtitles that ride along with the Reel for whoever watches it. What it is not is a document: there is no point in that flow where the words become something you can select, copy, search or carry into another app. A transcript is that other object, and the difference between the two is the whole of this page. Where a transcript exists here, it is produced by decoding a file you already hold down to 16,000 Hz mono — 26.88 MB held in the tab for a one-minute clip — rather than by asking Instagram for the words.
What Instagram means by "captions"
The word is doing more than one job inside Instagram, and the Help Centre says so directly. Asked about captions, it answers that "captions on Instagram can refer to a few different things: generating automatic closed captions for your Reels and videos, managing how you view captions on other people's content, or adding manual text and captions using the Edits tool." Those are three separate features sharing one name, and none of them is the same thing as a transcript.
- Automatic closed captions — speech recognition run over a video you uploaded, producing subtitles that a viewer can turn on or off. This is the one people mean when they ask how to get captions on a Reel.
- How you view captions on other people's content — a viewing preference on your own account, not a way to obtain anyone's words as text. Turning it on changes what you see; it does not hand you a file.
- Manual text added in the Edits tool — captions you type or position yourself, still inside the video you are publishing.
There is a fourth sense as well, and it is the one that trips people up. Instagram's own page on recording a reel describes the publish step as the place where you "write a caption, add a location, tag people, add alternate text, and adjust your post's settings" — so in Instagram's vocabulary the caption is also the block of text you write underneath the post. If a search brought you here looking for that, the answer is simpler than this page: that caption is a text box on the upload screen, and you have always been able to type in it.
How to turn Instagram's own captions on
Instagram's Help Centre gives the switch in one paragraph, and it is worth quoting rather than paraphrasing, because the route differs depending on whether the Reel exists yet. It says: "On Instagram, you can add auto-generated captions to your videos and reels using speech recognition technology. To add them before sharing a reel, tap the Stickers icon and select Captions. If you are using the Edits tool, open your project, tap Captions, choose your language and style, and then tap Generate Captions. For videos already posted, you can enable or disable closed captions by going to the video options, selecting Edit, and looking under Advanced settings or More options." None of those three routes produces a file, and the only ceiling Instagram states for a Reel is 20 minutes — decoded at 48 kHz stereo, that is 460.8 MB of audio in a tab.
- Before you share — tap the Stickers icon and select Captions. The captions are generated as part of the post, which is why the words never leave the app.
- In the Edits tool — open the project, tap Captions, pick a language and a style, then tap Generate Captions. The language is chosen here, by you, before anything is generated.
- After it is posted — open the video's options, choose Edit, and look under Advanced settings or More options to enable or disable closed captions.
What do Instagram's own captions not give you?
They are not portable. A caption produced this way is rendered onto the Reel for viewers; it is not a text file, and Instagram offers no control that exports it, copies it or searches it. That is a consequence of where the words live: they are generated from the video you uploaded, inside Instagram, and they stay there. If you did not post the Reel, the only caption you can reach is your own viewing preference for other people's content — which changes what you see and produces nothing you can keep. This is the honest reason the three best-known Instagram transcript tools spend their time on a file or a link instead: the captions are already inside the thing you cannot get out of Instagram, so anything you want to reuse has to be produced again from the audio. Producing it again is the cost the rest of this page measures: 26.88 MB of memory for a one-minute clip, 80.64 MB for a three-minute one, none of which Instagram's own feature spends.
Captions or transcript — the difference in one picture
When are Instagram's own captions enough?
For a Reel you are publishing, they are usually the right tool and nothing else is needed. The feature exists to make a video followable with the sound off, and it does that without you leaving the app, without a second file and without a download. Reach for it when the words only ever need to be seen on the video itself. It also costs nothing on your machine — no model, no download — against the 79.7 MB checkpoint a local transcript has to fetch.
- You are posting the Reel and want it usable by someone scrolling with the sound muted.
- You need captions in place before you share, in the app, with no file handling at all.
- You are willing to let Instagram choose the language and the styling, and you do not need to edit the words afterwards.
When do you need a transcript instead?
The moment the words have to exist somewhere other than the video, Instagram's captions stop helping, because there is no step in that flow that produces text you can keep. That is not a flaw in the feature; it is a different product. A transcript is what you want when the words are an input to something else. That route costs the audio memory measured below plus a one-time model download: 79.7 MB for the default checkpoint, 43.6 MB for the smaller one.
- The Reel is not yours, and you want to read or quote what was said rather than watch it with subtitles.
- You need to search the words, pull a quote out, or check a figure that was spoken.
- You want to turn the speech into a script, a blog post or a set of notes, which means editing text rather than watching a video.
- You need the timing of each line, or a subtitle file to load into an editor.
What does a transcript cost here?
Because the words have to be produced again from the audio, the cost is measured in memory rather than in access. This page reads a file you already hold, decodes it to 32-bit float audio, and resamples it to the 16,000 Hz mono that the speech model wants. Those two formats are the whole arithmetic. Web Audio fixes a decoded sample at 32 bits, so one second of 48,000 Hz stereo is 48,000 × 2 × 4 = 384,000 bytes, and the same second at 16,000 Hz mono is 64,000 bytes — and because both buffers exist at once while the resample runs, the two add up.
A one-minute clip therefore holds 23.04 MB of stereo plus 3.84 MB of mono, or 26.88 MB in the tab; a three-minute one holds 69.12 MB plus 11.52 MB, or 80.64 MB. The long case is worth doing out loud, because Instagram's own page allows a Reel of up to 20 minutes: 20 minutes of 48,000 Hz stereo is 460.8 MB, the resampled 16,000 Hz mono adds 76.8 MB, and the two together come to 537.6 MB held at once. Recognition itself runs in 30-second slices, and at 16,000 Hz mono one slice is 1.92 MB no matter how long the Reel is.
The model is the other half of the cost, and it is downloaded once. The default checkpoint is 79.7 MB and the smaller one is 43.6 MB; inside the default, 23.20 MB of quantised encoder weights and 53.69 MB of quantised decoder weights make up 76.89 MB. Neither number appears in Instagram's caption feature, because Instagram's caption feature never asks your browser to hold a model at all — it runs on Instagram's side, on the video you uploaded, and sends back subtitles rather than a file.
How do you check any transcript tool's claim?
Whether a tool runs where it says it does is checkable, and the check is the same one this site passes. The script that does the work here is 22,349 bytes and contains exactly one fetch( and exactly one import(, both aimed at public code and model hosts; there are zero occurrences of FormData, XMLHttpRequest, sendBeacon or a POST method in it, and the site's 11 HTML files contain zero <form> elements. A page that cannot construct a request has no route by which a file could leave. The two hosts it can reach are the recognition library and the model weights, which is why the only traffic this page makes is a download you can watch in the network panel.
For scale, those two constants sit inside a very small site: the stylesheet is 9,455 bytes, and one 79.7 MB model download is hundreds of times the weight of everything here. That asymmetry is the point of the comparison. Instagram's captions cost you nothing locally because the work happens on Instagram's machines; a transcript that stays local costs a model download and the memory above, and the trade is explicit rather than hidden.
Which one should you use?
If the Reel is yours and the captions only have to be seen on it, use Instagram's own — tap the Stickers icon, select Captions, and stop there. If the words have to become text you keep, Instagram's captions cannot get you there, and the route is a transcript produced from the audio: decode the file, resample it, recognise it, and you are holding the words. The two are not competing versions of one feature; they are a subtitle track and a document, and the question to ask is which of those you actually need. The transcript route asks for a 79.7 MB model download once and the memory above for each file — both dwarfing the 22,349-byte script that runs it; the caption route asks for neither.
Last checked: 11 October 2026. The Instagram wording above was read from the Instagram Help Centre on 11 October 2026 — the captions description, the three senses of the word, and the recording page's 20-minute limit and publish step — and is quoted rather than summarised. The audio arithmetic is derived, not measured: it follows the Web Audio specification, which fixes decoded samples at 32 bits, together with two constants in this site's own script, RATE = 16000 and chunk_length_s: 30, so 48,000 × 2 × 4 = 384,000 bytes per second at 48 kHz stereo and 64,000 bytes per second at 16 kHz mono; every figure printed above was computed and checked before it was written down. The byte counts for this site (22,349 for the script, 9,455 for the stylesheet, 1 fetch(, 1 import(, 0 <form>) were re-counted on this machine on the same day rather than remembered. The model sizes — 79.7 MB and 43.6 MB, split 23.20 MB of encoder and 53.69 MB of decoder — were measured in an ordinary browser tab on a two-core, four-gigabyte machine. Figures that could not be derived are absent rather than estimated.
Where the caption route ends is the subject of the no-login page, which quotes what each of the three best-known tools hands an anonymous visitor. The mechanics behind the transcript route are counted on the page about whether transcribing uploads the video, and the ceiling that decides whether a long Reel finishes is on the Reel length limit page. If the Reel is one you cannot reach at all, the private Reel page covers the routes that still work, and bulk transcribing Instagram Reels covers what changes with more than one file.