Add Subtitles to Video

Load your SRT or VTT, edit any line, then burn the captions in or save the file.

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

Already have a subtitle file? Load your .srt or .vtt, and it lands in an editable table beside the video. Fix a line, nudge a timing, choose the size and style — then either burn the captions into the picture so they travel with the video anywhere, or save the subtitle file back out.

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

No subtitle file yet? Type the lines by hand in the table, or run the video through Video to Text first to get the words, then bring the file back here. This page deliberately does not do speech recognition — that is a separate job, and a separate tool does it better.

Features

  • Load an existing .srt or .vtt — the normal way in; drop it on the page or use the button
  • Editable caption table — fix the words, adjust 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
  • Any text colour — a full colour picker plus one-click white, yellow, black, cyan and red
  • Any caption size — a slider from 10 to 72, not three fixed presets
  • Outline, solid band or nothing behind the text, in the colour you choose
  • 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.

Common uses

  • Put a translator's .srt onto your video
  • 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

How to use it

  • Upload a video — click the upload area or drag and drop your file
  • Press "Add your .srt or .vtt file" and choose your subtitle file (or just drop it onto the page)
  • Check the lines on the right, fix any wrong words and adjust the times
  • Set the colour, size and position — the preview over the video updates as you drag
  • Download the .srt — or press "Burn the captions into the video" and wait

Good to know

  • Nothing is uploaded. Your video, your subtitles and the encoding all stay on your device
  • Loading a subtitle file is instant — no model to download, no waiting
  • 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