Captions are no longer optional. Most short-form video is watched on mute first, and platforms surface captioned clips more aggressively because they keep people watching. But the usual way to get captions — dragging your raw footage into a web tool that uploads it to a server — means handing an unpublished video to a third party before you’ve even decided to post it. You don’t have to. Modern browsers can transcribe and burn in captions on your own device, with nothing leaving your computer.
What “without uploading” actually means
A lot of tools say “private” while still sending your file to their cloud to process it. The meaningful distinction is where the video is decoded and where the speech-to-text runs. In a local-first editor, both happen in your browser: the audio is extracted from your clip on your machine, transcribed on-device, and the resulting text is rendered back over the video — all without an upload endpoint. The simplest way to verify a tool is doing this is to open your browser’s Network tab before you start: if your multi-hundred-megabyte video isn’t going out, it isn’t being uploaded.
How on-device captioning works
Three things had to mature for this to be possible in a browser tab:
- WebCodecs lets the browser decode your video’s frames and audio directly, without a server doing the heavy lifting.
- WebAssembly runs a speech-recognition model at near-native speed, so transcription happens locally instead of in the cloud.
- Word-level timing means each word gets its own timestamp, which is what enables the animated, one-word-at-a-time caption styles that perform well on Reels, Shorts and TikTok.
The trade-off is that the first run downloads the recognition model to your browser (a one-time cost), and very long files take longer than a data-center would. For the 15-to-90-second clips that make up most social video, it’s fast and completely private.
Step by step
- Open the editor and drag in your clip. Nothing uploads — it opens locally.
- Run auto-captions. The audio is transcribed on your device into timed, word-level text.
- Read through the transcript and fix any names, jargon or numbers the model misheard. This five-minute pass is the difference between captions that look careless and captions that look professional.
- Style them: pick a font, size and position, and keep captions inside the safe zone so platform UI (the caption, username and buttons) doesn’t cover them.
- Export. You can burn the captions into the video, or keep the video clean and export a separate subtitle file — see below for which to choose.
Burned-in captions vs. a subtitle file
Burned-in captions are drawn permanently onto the video frames. They always display, look identical everywhere, and let you use styled, animated text — which is why they’re the norm for Reels, Shorts and TikTok. The downside is they can’t be turned off or edited later.
A subtitle file (.srt or .vtt) is separate text the player overlays, so viewers can toggle it and search engines and platforms can read it. It’s the better choice for YouTube long-form and for accessibility compliance. Many creators do both: burn a styled version for the feed, and keep an .srt for the archived master.
Getting the words right
No automatic transcription is perfect. Speed the correction pass up by speaking clearly and close to the mic when you record, avoiding heavy background music during speech, and keeping a short list of proper nouns your model tends to mangle so you can find-and-replace them. If you publish in more than one language, you can also translate the captions once the transcript is clean rather than re-transcribing.
The bottom line
Captioning used to force a choice between convenience and privacy. It doesn’t anymore. On-device captioning gives you the same fast, word-level results as the cloud tools, without your footage ever leaving your computer — and with no account, no watermark, and no upload. When you’re ready, the free caption generator does exactly this in your browser.