Add subtitles to video, free, in your browser

OpenSubs (opensubs.app) is a free way to add subtitles to video: drop in the file, Whisper writes the subtitles from its speech in this tab, you fix any line, then burn them into an MP4 or save an .srt. The video is not uploaded. No account, no watermark, and open source.

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

How to add subtitles to video in five steps

This is the same tool as the free subtitle generator on the home page. Every step below runs on your own machine.

  1. Choose the video. Open opensubs.app and pick an MP4, MOV, WebM or MKV, or drop it anywhere on the page. Try a sample loads a short clip if you want to see it work first.
  2. Generate the subtitles. Press Generate from the audio. The first time, the speech model downloads once (Tiny about 40 MB, Base about 80 MB, Small about 250 MB) and is cached after that. The spoken language is detected for you, or you can set it. If you already have an .srt or .vtt, open it instead.
  3. Fix what the machine got wrong. In the Subtitles tab every line is a text box. Type over a name or a misheard word, press return inside a line to split it, and click a line's timestamp to jump the video to that moment.
  4. Pick a look. The Style tab has twelve presets, previewed over your own footage, with optional word-by-word highlighting. To add subtitles to video in another language, the Translate tab covers 20 languages.
  5. Export. In the Export tab, press Burn subtitles into the video to save a new MP4 named after yours (talk.mp4 becomes talk.subbed.mp4), or save the subtitles as .srt, .vtt, .ass or .txt. Clip & size trims the video and sets the output resolution first, if you need it.

Burned in, or a subtitle file?

There are two ways to add subtitles to video, and where the video is going decides which one you want. You can also do both from the same subtitles.

Burned into the picture

The words are drawn into the frames and saved as a new MP4 (H.264), or a WebM where the browser has no H.264 encoder. They show up everywhere, including Instagram, TikTok and Reels, which do not take a subtitle file. They cannot be switched off. The audio is copied across untouched.

A separate subtitle file

An .srt or .vtt to upload beside the video on YouTube or Vimeo, or to keep next to it for a desktop player. Viewers can turn it off, and you can fix a typo later without exporting the video again. An .ass keeps the style you chose.

The trade-offs, with a table per platform, are in adding subtitles to an MP4: separate file vs burned in. For the export settings and what burning keeps and drops, see burn subtitles into video.

Free to add subtitles to video, with no upload

Transcribing, editing, styling, translating on your device, burning and every export are free, with no watermark and no file-size limit. The work runs in this tab, on the GPU where your machine has one, so a long video on a laptop takes a while, and costs nothing. The one paid option is cloud translation, at $5 for 1,000 credits, with the price shown before a job runs.

With the default settings only the speech model is downloaded; the video is read from your disk and never sent anywhere. You can check it: open the Network tab, then add subtitles to a video. The audio is never in a request. The source is public under the AGPL-3.0-or-later, on GitHub. Questions, or a problem to report: email hello@opensubs.app.

What it will not do

Most people add subtitles to video here without meeting any of these. The ones that do should know first:

  • Change timings. You can rewrite what a line says, but not when it starts or how long it stays, and lines cannot be added, deleted or merged.
  • Start from an audio file. The web app takes a video.
  • Put a switchable subtitle track inside the MP4. It either draws the subtitles into the picture or gives you the file to keep beside it.
  • Open an .ass file. It writes .ass, and opens .srt and .vtt.
  • Keep HDR colour. An HDR video is flagged, and the desktop app or the command line handles it properly. The desktop app (macOS, Windows, Linux) is also the better choice for very long files.
  • Run the recogniser in Safari on iOS 17. iOS 26 works.

Questions

How do I add subtitles to a video for free?

Open opensubs.app, choose the video and press Generate from the audio. Correct any line, pick a style, then in the Export tab burn the subtitles into an MP4 or save an .srt. No account, no watermark.

Is my video uploaded?

No. Whisper runs in your browser and the video is read from your disk. Only the speech model is downloaded, once.

I already have an SRT file. Can I add it to my video?

Yes. Load the video, open the .srt or .vtt, pick a style and burn. You get a new MP4 with the subtitles in the picture; the original file is left as it was.

How do I add subtitles for Instagram or TikTok?

Burn them in. Those apps do not take a subtitle file from you, so to add subtitles to video for them the words have to be in the picture. Export the MP4 and post that.

Can I add subtitles in another language?

Yes, into 20 languages. In desktop Chrome 138 or later, translation runs on your device for free; you can also use your own Claude, OpenAI or DeepL key, or pay in credits for cloud translation.