Add Subtitles to a Video

● No uploads: everything runs in your browser

Loading…

Add subtitles to a video by burning them into the picture: drop the video and an .srt or .vtt file, and you get a new video with the captions drawn into every frame. That is the version to use where a separate subtitle file cannot go along, such as short-video and messaging apps, presentation slides or a feed that autoplays with the sound off. The video is re-encoded on your own machine, the audio is copied across untouched, and clips up to 15 minutes long are supported. If you have no subtitle file yet, the subtitle generator can make one from the video’s audio first.

How it works

  1. Drop the video and the .srt or .vtt together, or add each one through its own slot in the panel. Most MP4, MOV and WebM files open directly.
  2. Pick the caption size, S, M or L, and whether the text sits at the bottom or the top. The preview draws a real frame of your video with a real cue on it.
  3. Burn in & download. The progress bar shows frames done, speed and time left, and the new file keeps your video’s resolution and frame rate.

Questions

How do I add an SRT file to a video permanently?
Burn it in. Drop the video and the .srt on this page and press Burn in & download: every cue is drawn into the frames at its own time, and the result is a single video file that shows the subtitles in any player, on any site, with nothing to switch on. The trade-off is that viewers cannot turn them off or resize them.
Can I add subtitles to a video without a subtitle file?
Not on this page, because it needs timed text to draw. Make the file first with the subtitle generator, which transcribes the video’s speech on your device with Whisper and saves an .srt or .vtt. Read it through, correct names and misheard words, then bring it back here with the video to burn it in.
Is there a limit on video length?
Yes, 15 minutes per video. Burning in decodes and re-encodes every frame inside your browser, and the finished file is held in memory until it is saved, so a longer video is refused up front with a message rather than failing partway through. For a feature-length film, a separate .srt or .vtt played alongside the video is the better route.
Does my file get uploaded?
No. The models and all processing run inside your browser on your own device. You can verify this yourself: open your browser’s DevTools, watch the Network tab, and process a file: there are no uploads. After the first visit most tools also work fully offline.
What is a two-point resync?
A fixed shift fixes subtitles that are uniformly early or late, but not ones that drift further out over the runtime (a frame-rate mismatch). Pin the first and last line to their correct moments and every cue between them is stretched linearly. That is the standard fix, done locally.
How does on-device translation work?
Recent Chromium browsers ship a built-in translator that downloads language packs and runs locally. Where your browser offers it, this tool uses it, subtitle text included, and nothing is sent to a service. Where it does not, the page says so instead of quietly uploading.
Burned-in vs a subtitle file: which do I want?
A separate .srt/.vtt can be toggled and edited, and players render it crisply, so prefer it where you control playback. Burn-in re-encodes the video with the text drawn into the frames: it plays everywhere and cannot be turned off.

Related tools