Add subtitles to a video

Captions written from the speech and burned into the picture, on your own device. Or bring an SRT and burn in that.

Burns captions into an MP4, MOV or WebM and saves an MP4, either written from the speech by Whisper or taken from your own SRT or VTT file. It is free, needs no account and adds no watermark, and your files are not uploaded: everything runs in your browser on your device. Writing captions from speech downloads the speech model (76 MB) and the engine that runs it on first use and then works offline; burning in your own SRT or VTT file needs no model.

Drop a video, and an SRT or VTT file if you have oneor click to choose files. Batches welcome.

    Add an SRT or VTT file to use your own subtitles.

    Every frame is redrawn and re-encoded, so longer, sharper videos take longer.

    Working…

    Done

    Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.

    How it works

    1. Drop a video. To use subtitles you already have, drop the SRT or VTT file with it.
    2. Choose the look, size and place of the captions, and the spoken language if detection gets it wrong.
    3. Press Add subtitles. Without a subtitle file, the speech model writes them first (it downloads once); then every frame is drawn with its caption and the video is saved as a new file.

    In your browser, not on a server

    Without a subtitle file, the soundtrack is transcribed exactly as in Transcribe: decoded in your tab at 16 kHz, cut at pauses, and timed by OpenAI’s Whisper base model (MIT) running in a background worker through transformers.js (Apache-2.0) and onnxruntime-web (MIT). With an SRT or WebVTT file, its captions are read as they are. Each caption is wrapped to fit the width of the picture, two lines at most, and a long one becomes several in a row. Mediabunny (MPL-2.0) then decodes the video, every frame is drawn on a canvas with the caption that is due, and your browser’s own video encoder (WebCodecs) writes a new MP4, with the sound copied across.

    Compared with upload-based tools: Online captioning apps upload the whole video, cap free minutes, and many stamp their logo on the result or keep it for training. Here the video and its words stay on your device, with no watermark and no minute limit beyond your device’s memory (phones hold less).

    Verify it yourself. Give the page a short while after your first run to save itself for offline use, then turn off Wi-Fi or switch to airplane mode and run the tool again. Or open your browser's developer tools (F12, or Cmd-Option-I on a Mac), pick the Network tab, and watch it while you convert. The panel above does the same count for you.

    Questions

    Is my video uploaded?

    No. The soundtrack is transcribed by a speech model running in this tab, and the frames are redrawn and encoded by your browser’s own video encoder. What gets downloaded is the speech model and the engine that runs it, both from this site, the first time.

    What is the difference between burned-in and separate subtitles?

    Burned-in (open) captions are part of the picture, so they show everywhere the video plays, including Instagram, TikTok and messaging apps that ignore subtitle files. They cannot be turned off or edited afterwards. For captions viewers can switch on and off, make an SRT with Video to subtitles and upload it alongside the video.

    Can I fix mistakes before they are burned in?

    Yes. Tick Also save the subtitles as an SRT file, correct the words in any text editor, then drop the video again with the corrected SRT: your file is used as it is, and nothing is transcribed.

    How long does it take?

    Writing the captions takes about two to three minutes for every ten minutes of speech on a laptop. Redrawing and encoding the video then depends on its length and resolution and on your device’s video encoder. Keep the tab open while it works.

    Is there a watermark or a length limit?

    No watermark. The limit is your device’s memory, since the new video is built in the tab; on a phone, a video over about 200 MB (2 minutes of iPhone video) may run out of memory.

    More video and audio tools

    Popular conversions

    Guides