A free caption generator that never uploads your video

Drop a video onto the page and this caption generator writes captions from its speech, each line timed to the audio. Whisper runs in your browser, so the video never leaves your machine. Free, with no account and no watermark.

Free. No account, no watermark. MP4, MOV, WebM and MKV.

How the caption generator works

OpenSubs is a subtitle generator that runs in the browser tab. Used as a caption generator, it does four things, and every one of them happens on your own machine.

  1. Open opensubs.app and choose a video, or drop one anywhere on the page.
  2. Pick a speech model and generate. The model downloads once, the first time, and your browser keeps it after that.
  3. Read the captions against the video and type over any line that came out wrong.
  4. Choose a style, then export the captions as .srt, .vtt or .ass, or burn them into the picture and export an MP4.

An AI caption generator that runs on your machine

The usual auto caption generator uploads your video to a server and sends captions back. This one does the work in the tab.

Whisper, in your browser

The speech recognition is OpenAI's Whisper, run in your browser, on the GPU where your machine has one. More about Whisper in the browser

The video is not uploaded

There is no upload endpoint in the product. Only the speech model is fetched from the network; the audio and the video are not.

Styled captions, word by word

Twelve styles, from plain broadcast captions to bold social ones, and word-by-word highlighting timed to the audio.

Captions in the picture

Burn the captions into the video and export an MP4, encoded in the browser, for platforms that do not take a caption file.

What the caption generator gives you

A caption file, a captioned video, or both. The .srt and .vtt are plain text that every player and platform reads; the .ass keeps the style you picked. The captions can also be translated into another language before you export, with the timings left where they were. If the video is playing in a tab rather than sitting in a file, the browser extension captions it as it plays.

What this caption generator will not do

The limits worth knowing before you start.

  • Get every word right. Accuracy is Whisper's at the model size your machine can run, and a browser is a smaller budget than a server. Check the captions before you publish them.
  • Start instantly on the first visit. The model download is a real wait: Tiny is about 40 MB and English only, Base about 80 MB, Small about 250 MB.
  • Let you move a caption in time. You can change what a line says, not when it appears, and lines cannot be added, deleted or merged.
  • Run in every browser. It needs WebAssembly: Chrome, Edge, Safari or Firefox. iOS 17 Safari cannot run the recogniser; iOS 26 can.

What leaves your machine

Nothing. The file is read in the tab, and nothing is uploaded. You can check it rather than take it on trust: open the Network tab, then generate captions for a video. After the page and the speech model have loaded, there are no requests.

The source is public under the AGPL-3.0-or-later, on GitHub. Questions, or a problem to report: email hello@opensubs.app.

Questions

Is this caption generator free?

Yes. Generating captions, every style, word-by-word highlighting, burning into MP4 and every export format are free, with no account and no watermark. The one paid option is cloud translation.

Is my video uploaded to make the captions?

No. OpenSubs reads the file directly in your browser and Whisper runs on your machine. Only the speech model is fetched from the network, never the audio.

Which video formats does the caption generator take?

MP4, MOV, WebM and MKV. There is no file-size limit and no queue.

Can the AI caption generator do other languages?

Yes, with the Base or Small model; Tiny is English only. The spoken language is detected every four seconds, so a video that switches between two languages comes out with both.

How do I add the captions to my video?

Either export a caption file (.srt, .vtt or .ass) and upload it with the video, or burn the captions into the picture and export an MP4.

Can I correct the captions?

You can rewrite the text of any line before you export. The timings are not editable.