Skip to main content

Free Subtitle Generator

Drop a video and get accurate captions as SRT or VTT, or burned into an MP4, in the original language or translated to English. Runs in your browser; nothing is uploaded.

Drop a video or audio file here, or click to choose one

MP4, MOV, M4V, MKV, WEBM, AVI, MP3, M4A, WAV, OGG, OPUS, FLAC, AAC ยท processed on your device

or press Ctrl+V to paste from your clipboard

Browse files

You get captions as SRT or VTT, or burned into the video, in the spoken language or translated to English. Free, no sign-up, files stay on your device.

Your files never leave your device. All processing happens locally in your browser.

How It Works

Drop a video or audio file and get timed captions, in the spoken language or translated to English. The speech is recognised in your browser by OpenAI's Whisper model, the captions are laid out to broadcast reading rules, and you can download them as SRT or VTT or burn them into the video as an MP4.

  1. 1
    Audio is read locally
    The soundtrack is taken from the video unchanged. No noise filter is applied: in testing, every denoiser made recognition worse.
  2. 2
    Whisper transcribes it
    The audio is cut at pauses and transcribed in the language you pick, or translated straight into English by the same model. The model (about 44 or 81 MB) downloads once and is cached.
  3. 3
    Captions are built
    Likely recognition errors are removed, names you typed are corrected, and the text is split into captions of the length you chose.
  4. 4
    Download or burn in
    Save SRT or VTT, or draw the captions into the video and save an MP4.

Your video and its audio never leave your device. Only the speech model is downloaded, once.

Guide

Worked example

Drop a 4:30 interview.mp4. The file chip shows the name, its size and 4:30, and a small player appears. On the English page "Spoken language" starts on English, "Captions in" on "Original language" and "Caption length" on "Standard (TV)", with the hint "Up to two lines of 42 characters, like TV and streaming subtitles." When the browser runs the Accurate model on the processor, the page says "Length 4:30. On a typical laptop this takes about 5:15; phones are slower." Press "Generate captions". The bar reads "Preparing audio...", then "Downloading the speech model..." (first visit only), then "Transcribing..." with an "about 2:10 left" countdown, then "Building captions...". The list is headed "Captions (58)". Click a time to jump there, click text to correct it, then press "Download SRT". The file is named interview.srt.

Which settings to use, and the limits

  • Name the spoken language when you know it. The "Spoken language" menu starts on the language of the page you are reading, if the speech model knows it, so on this page it starts on English. A video in another language needs its own language picked, or "Detect automatically". Naming the language is the safer choice, because detection can mislabel quiet stretches. If you set "Captions in" to "English (translated)" on the English page, the menu starts on "Detect automatically" instead, because someone translating to English is probably not hearing English.
  • Match the caption length to where the video will play. "Caption length" offers "Short (social)", "Standard (TV)" and "Long (full sentences)". Short shows one short line at a time, up to 3 seconds, for vertical phone videos. Standard allows up to two lines of 42 characters. Long gives one or two whole sentences per caption, which suits speeches and talks. After the captions appear, the same menu sits above the list. Changing it rebuilds the list from the recognition already done, so nothing is listened to again, but it replaces any edits you made.
  • Open "More" to pick Accurate or Fast and to list names. "Accuracy" offers "Accurate" (the Whisper base model) and "Fast" (the smaller tiny model). With the model on the processor the downloads are 77.1 MB and 42.7 MB, and the tool's default estimate for Fast is half the time per minute of audio. Phones start on Fast, other devices on Accurate. "Names or special words" takes a comma-separated list such as "Kayla, Nathan, Rotorua". After recognition, a heard word of 4 to 6 letters that is one letter off a listed name, or of 7 or more letters and two off, is respelled to match. It cannot repair a wrong number of words, so still check names.
  • Choose English output, or translate afterwards. "Captions in" offers "Original language" and "English (translated)". The second makes the speech model translate into English as it listens, with no extra download, and it works on phones. It suits widely spoken languages such as Spanish, French, German, Portuguese and Italian and is rougher for others; Fast translates noticeably worse than Accurate. The choice is kept in the page address as #to=en, and translated files are named like talk.en.srt. Browsers with a built-in translator, such as recent Chrome on a computer, also show a "Translate captions to" menu and a "Translate" button under the captions.
  • Plan for the file length and your device. A computer captions up to 5:00:00 of a file and a phone up to 1:30:00; a longer file shows "This file is 6:10:00 long. This device can caption the first 5:00:00 of it; for the rest, cut the file into parts first." The first time estimate assumes a phone is 3.5 times slower than a computer, then the tool remembers your device's real speed after a longer run. Before the first download a phone shows "On a phone this will be slow - expect several minutes, and keep this tab open.". "Cancel" stops the run and keeps the captions made so far.
  • Edit the list, then save SRT, VTT or a burned-in video. Click a caption's time to play from there, click its text to edit it, and press โœ• to delete it. A note counts lines that "looked like recognition errors" and were left out. "Download SRT" and "Download VTT" save text files. "Download video with captions" draws them into an H.264 MP4 with AAC audio at 160 kbps, named like interview_captions.mp4; "Position", "Size" and "Box behind text" change the look, and the preview matches. Audio files get SRT and VTT only. The burn button is disabled for a file over about 2 GB, 1 GB on a computer reporting 4 GB of memory or less, or 400 MB on a phone.

Common problems and how to fix them

It says "The speech model could not be downloaded. Check your connection and try again." and "Try again" fails at once.
The model download failed or stopped part-way. Check your connection and press "Try again". On a slow or unsteady connection, choose "Fast" under "More", which is a smaller download (42.7 MB on the processor). A full browser storage gets its own message instead: "Your browser's storage is full, so the model could not be saved." The tool stops before downloading if the free space is under 1.2 times the model size (92.5 MB for Accurate on the processor, 51.2 MB for Fast). Free up space on the device, or clear saved data for sites you don't need in your browser's settings, then try again, or choose "Fast", which needs less room.
It says "No speech was found in this file. If people do speak in it, pick their language and try again."
Recognition ended with nothing left once the tool removed lines that looked like recognition errors, such as repeats, text over music or silence, and stray lines like "Thank you for watching". A music-only or silent file ends this way. If someone does speak, the usual cause is the language: the menu starts on the page's language, not on detection, so a French video needs "French" or "Detect automatically" chosen. Change it and press "Generate captions" again.
It says "Captioning failed. Try the Fast accuracy setting, or a shorter file." or, part-way through, "Captioning stopped at 12:40 because of an error. The captions made so far are below."
Something failed after the model loaded, such as the device running out of memory or the worker going silent. A window of audio is given about 2 minutes to show signs of life (5 minutes for the first, which starts the engine), and a lost worker is retried once. Fast has a lower declared memory peak, 190 MB against 320 MB for Accurate. Choose it under "More", try a shorter file or close tabs. With the second message the captions so far are kept, so you can still download them.
It says "The video font cannot draw these characters: ๆ—ฅๆœฌ่ชž. Download SRT or VTT instead and let the player show them."
Burning uses three fonts served from this site that cover Latin, Greek, Cyrillic, Vietnamese, Arabic and Hebrew text. Characters from other scripts, such as Japanese or Devanagari, would be left blank, so the burn button is disabled before any work starts. "Download SRT" and "Download VTT" still work, and a media player draws the captions with its own fonts. If the fonts themselves fail to load you see "The caption fonts could not be loaded. Check your connection and try again."
It says "This file could not be read. Try converting it to MP4 or MP3 first." or "This file has no audio track, so there is nothing to caption."
The tool decodes the first stretch of audio before it asks for the model, so an unreadable file costs no model download. The first message means the decoder could not read the audio: convert the file to MP4 or MP3 and add it again. The second means the file has no sound. If the decoder runs out of memory you see "The browser ran out of memory processing this file โ€” it is too large for this device. Try a shorter clip, a smaller file, or a desktop computer." instead.

How it compares

This tool turns speech into timed captions on your device with Whisper (base or tiny), then saves SRT, VTT or a burned-in MP4. It has a text list, not a waveform timeline; "Need timing tweaks? Open in Subtitle Editor" sends the SRT there in a new tab. For a plain transcript, Audio to Text fits better. It does not label who is speaking, and the burned-in look has only position, size and a box behind white text. Because it runs in the browser, nothing is uploaded, but it is slower than a server: the default estimate on a computer is about the video's length for Accurate and half of it for Fast, plus 45 seconds to start. Recognition makes mistakes, so read the captions before you publish them.

Related Tools

Frequently Asked Questions