Add Subtitles to Video

Transcribe your video on your device, edit the captions, then burn them in or download an SRT.

100% private — runs entirely in your browser. Your data is processed on your device and never sent to the internet.

Video and audio are processed in your browser by FFmpeg (ffmpeg.wasm), free software under the GPL-2.0-or-later and MIT licenses — licenses & source.

About this tool

This free subtitle maker listens to your video, writes the captions for you, and lets you fix them before they go anywhere. From there you can download an .srt file — the standard subtitle format every player and platform understands — or burn the captions into the picture so they travel with the video wherever it is posted.

Everything runs in your browser: the speech recognition, the editing and the video encoding. Your video is never uploaded, there is no sign-up, no watermark and no length limit.

Features

  • Automatic transcription with timings, on your own device
  • Editable caption table — fix the words, drag the timings, add or delete lines
  • Live preview of the captions over the video as it plays
  • Burn them in — captions become part of the picture
  • Or download .srt / .vtt to keep the video untouched
  • Three caption styles and a top or bottom position
  • Works with MP4, MOV, WebM, M4V and MKV

Burned in, or a separate .srt file?

This is the one real decision, and the right answer depends on where the video is going.

A .srt file sits alongside the video. The player draws the captions live, which means the video file is not touched — no re-encoding, no quality loss, and it takes a fraction of a second to produce. Viewers can turn captions off, and search engines and platforms can read the text. YouTube, Vimeo, Facebook and most TV players accept an .srt upload directly. If your video is going to one of those, upload the .srt and stop there.

Burning in paints the captions permanently into every frame. The advantage is that they cannot be lost or switched off — essential where captions do not travel: Instagram, TikTok, embedded players, presentations, WhatsApp, and anywhere people watch with the sound off. The cost is real, though: the video must be re-encoded, which takes roughly as long as the video lasts, loses a little quality, and cannot be undone.

The practical rule: burn in for social video, use .srt for everything else.

About the accuracy

The transcription is done by a compact speech model running on your own machine, which is what makes it private and free. It is genuinely good on clear speech in English, and it will get names, technical terms and unusual words wrong — that is why the caption table sits right next to the player, and why fixing them takes a minute rather than an hour.

It works best on a clean recording, one speaker at a time, with little background music. Heavy accents, several people talking over each other, or loud music underneath will all cost accuracy. The model is trained on English; other languages may produce poor results or come out translated. Always read through the lines before you publish.

Common uses

  • Caption a social video so it works with the sound off
  • Add subtitles to a tutorial, lecture or interview
  • Make a video accessible to deaf and hard-of-hearing viewers
  • Produce an .srt to upload alongside a YouTube video
  • Get a rough transcript to edit into an article

How to use it

  • Upload a video — click the upload area or drag and drop your file
  • Press "Transcribe the speech" — the first run downloads the speech engine once
  • Check the lines on the right, fix any wrong words and adjust the times
  • Set the size, style and position, and watch them over the video as it plays
  • Download the .srt — or press "Burn the captions into the video" and wait

Good to know

  • Nothing is uploaded. The audio, the transcript and the encoding all stay on your device
  • The first transcription downloads the speech model (~40 MB), once; after that it is cached
  • Burning is slow, roughly real time, and needs a lot of memory. On a phone, stick to short clips or use the .srt
  • Burning fetches a font the first time — a small one for Latin text, a larger one for Korean, Japanese or Chinese captions, since the video engine ships without any font of its own
  • Timings are in MM:SS in the editor and full precision in the file — click the play icon on a line to jump straight there
  • If burning fails, the .srt still works — it is produced independently and needs no encoding
  • The burned video is H.264 MP4, which plays everywhere; the audio is copied across untouched
  • Keep each caption to one or two short lines — that is what viewers can actually read at speed

Related tools

We add new tools regularly — subscribe on YouTube to be notified when each one goes live.

More tools

View all

Recommended Apps

View all