Add automatic captions to a video

Large, readable captions written from what is said and burned into the picture, for videos watched with the sound off.

Writes captions from the speech in an MP4, MOV or WebM video with Whisper and burns them large into the picture, for videos watched with the sound off, then saves a new MP4. It is free, needs no account and adds no watermark, and your video is not uploaded: the speech is transcribed and every frame redrawn in your browser. The first run downloads the speech model (76 MB) and the engine that runs it, and after that it works offline; the longest video you can caption depends on your device’s memory.

Drop a video to captionor 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.

    Most short videos are watched on mute, in a feed, on a phone. A talking-head clip without captions loses those viewers in the first second, and apps that ignore subtitle files, such as Instagram Stories and WhatsApp, only show captions that are part of the picture. This page writes the captions from the speech and draws them into every frame, so they travel with the video wherever it goes.

    A worked example: a 45-second vertical clip from your phone, 1080×1920, of you explaining a recipe. Drop it here; Large is already chosen, which on a 1080-pixel-wide vertical video sets the text at about 90 pixels, readable on a small screen. The speech model writes the captions (it downloads once, 76 MB), each is wrapped to at most two lines across the width of the frame, and the clip is re-encoded with the words in the lower part of the picture. You get recipe-subtitled.mp4, ready to post. If the app puts its buttons over the bottom of the video, choose Top instead.

    Speech models slip on names, brand words and mumbled phrases, and a burned-in mistake cannot be edited later. For anything important, tick Also save the subtitles as an SRT file, fix the words in a text editor, and run the clip again with the corrected SRT dropped next to it.

    How it works

    1. Drop the video; Large captions are already chosen.
    2. Pick a look: white with a black edge, white on a dark band, or yellow. Choose Top if the app covers the bottom of the video.
    3. Press Caption video. The captions are written from the speech, drawn into every frame, and the new video downloads.

    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

    Which look reads best on a phone?

    White with a black edge works on most footage. On busy or bright backgrounds such as snow, sky or a white kitchen, the dark band keeps every word readable. Yellow is the traditional choice for subtitles over film and stands out on grey or blue scenes.

    Does it do word-by-word animated captions?

    No. Each caption shows a phrase of one or two lines for as long as it is spoken, like TV subtitles. Animated, word-highlighting styles need an editing app.

    Can it caption a video in another language?

    Yes, with limits. The language is detected from the first seconds, or you can choose it. The speech model is small, so it is most accurate in English and makes more mistakes in other languages, especially on short or noisy clips; if the words come out wrong, choose the language yourself. Tick Translate the speech to English for rough English captions on a video in another language, and check them before you post.

    Can I get a separate subtitle file instead?

    Yes. Video to subtitles is a subtitle generator that makes an SRT or WebVTT file from the speech, without touching the video.

    Can I add captions to a video without uploading it?

    Yes. The speech is transcribed and the frames are redrawn in this tab. Unposted clips, family videos and client footage stay on your device.

    How long a video can I caption?

    The limit is your device’s memory, not a set length. On a phone, a video over about 200 MB (around 2 minutes of iPhone video) may run out of memory, and the page warns you before it starts. A laptop handles longer clips. The first run also downloads the speech model (76 MB).

    Do I need an account, and is there a watermark?

    No account and no sign-up: open the page and drop a file. Nothing is added to your file, so there is no watermark or logo. It is free, and your files are not uploaded.

    More video and audio tools

    Other conversions

    Guides