Captions get watched. Most feeds start videos muted, and a viewer who can't turn the sound on will scroll past a video that doesn't show its words. They're also how deaf and hard-of-hearing viewers get in at all.
There are three ways to put captions on a video. Here's each one, and then the fastest route that doesn't involve uploading your footage anywhere.
The three routes
| What it costs | Good for | |
|---|---|---|
| Type them yourself | Many times the length of the video | Short clips, or when the wording has to be exact |
| Let the platform do it | Free, but only on that platform, and your video sits on their servers | Video that lives on YouTube anyway |
| Generate them on your machine | A few minutes of your computer's time | Anything you'd rather not upload, and any platform |
Route 1: type them yourself
Open the video, write down what's said, mark the times. Any text editor works — an SRT file is just numbers, times and lines (see subtitle file formats). Dedicated editors such as Aegisub or Subtitle Edit make the timing part less painful.
It's accurate and it's slow. Most people do this only to fix a transcript they got some other way.
Route 2: let the platform do it
YouTube generates captions for uploaded videos automatically, and the editors in Instagram, TikTok and CapCut can add them too.
Two catches. The captions live on that platform — taking them elsewhere means exporting and reformatting — and the video has to be uploaded first, which you may not want for a client recording, a lecture, or anything unreleased.
Route 3: generate them on your own machine
Speech recognition now runs in a browser tab. The model downloads once, the audio is read from your disk, and the transcript comes back without the video going anywhere.
Here's the whole thing in OpenSubs:
1. Drop in the video
Open opensubs.app and choose a video file. Nothing is uploaded — there is no upload endpoint in the product.
2. Generate the subtitles
Pick a model — the smallest is around 40 MB, the largest around 250 MB — and click Generate from the audio. The model downloads once and is cached for next time. The spoken language is detected automatically, or you can set it yourself.
How long it takes depends on the model you picked and the machine you are on; a machine with WebGPU is faster than one without.
3. Fix the lines
Automatic transcripts get names, jargon and acronyms wrong. Read through and correct any line by typing in it. This is the step people skip, and it's the one that separates captions that help from captions that annoy.
4. Translate, if you need to
Pick a target language and the subtitles are translated without touching the timings. In Chrome this runs on your device at no cost, using the browser's built-in translation. You can show the translation on its own, or keep the original above or below it for bilingual captions.
5. Style them
Choose a caption style — plain white text, boxed text, big social-video lettering, or word-by-word highlighting — and preview it over your own footage. What the preview shows is what gets rendered.
6. Export
Two kinds of output:
- A subtitle file —
.srt,.vttor.ass. Upload it alongside your video to YouTube or Vimeo, or keep it next to the file so your player picks it up. - An MP4 with the captions drawn into the picture — for Instagram, TikTok and anywhere else that won't take a subtitle file. Which of the two you want depends on where the video is going.
It's free, there's no account and no watermark, and the source code is published under AGPL-3.0.
Writing captions people can actually read
- Two lines at a time, at most. Three lines cover the picture and lose the reader.
- Break lines where the sentence breaks — after a clause, not between an adjective and its noun.
- Leave them on screen long enough. A cue that flashes by in a third of a second is noise.
- Caption the meaningful sounds too when they matter:
[laughs],[phone rings]. - Check names and numbers by hand. That's where automatic transcripts fail most often.
FAQ
Do I have to upload my video?
Not with a browser-based tool. OpenSubs reads the file from your disk and runs speech recognition in the tab.
Is it really free?
Yes — no account, no watermark. There's an optional mode where you plug in your own API key and the audio goes to a paid service you choose; it's off by default.
Which format should I upload to YouTube?
SRT. Upload the video, then attach the .srt as a subtitle track.
Can I caption an audio file?
Not in OpenSubs — the file picker takes video only. Put the audio into a video container first if you need to.
How accurate is it?
It depends on the model size and the audio: accents, overlapping speakers and background music all make it worse. Read through before you publish.