caption any video. no cap.

Drop a clip, pick the language it’s spoken in, pick the language you want. Captions show up in sync. Free, no account, no API keys.

the transcript

wait, how does this work?

whisper mode: the real deal

Whisper is a free open-source speech model that runs inside your browser through transformers.js. It reads the audio straight from the file, no mic, no speakers, and returns exact timestamps. First run downloads about 75 MB once, then it’s cached. It needs a page that can reach huggingface.co, so save this page as an .html file and open it on your computer (or host it free on GitHub Pages or Netlify Drop). If it can’t load, mic mode takes over.

mic mode: who hears the words?

Your browser’s built-in speech recognition (the Web Speech API). No key, no signup. It listens through your mic while the video plays, so turn the volume up and skip headphones. Works best in Chrome, Edge and Safari.

how do the timestamps happen?

Every time the recognizer finishes a sentence we note the video’s current time. That gives each line a start and an end, which is what powers the synced captions and the .srt/.vtt files.

how does the translation happen?

Chrome’s on-device Translator API does it for free with no key. If your browser doesn’t have it, we fall back to free keyless web translators (Google’s public endpoint, then Lingva, then MyMemory). If neither is available you still get the original captions.

download the video with captions burned in

Hit “video with captions”. The page replays the video once and records it together with the captions, which are sized from the video’s own dimensions so every line fits on screen. It runs in real time and may stutter a bit, that’s fine, the recording is smooth. Keep the tab open and visible until it finishes.

✨ the AI polish step

When Whisper finishes, the whole transcript goes to a small open model from Hugging Face (Qwen2.5, running in your browser) before you see anything. It writes a short summary of the video, then goes through the lines with that context: it fixes misheard words and cut sentences, and translates so slang and jokes aren’t word for word. It’s a small model (about 400 MB, downloaded once, then cached) that runs on the processor, not the graphics card, inside a background worker so the page keeps responding, and Whisper is unloaded from memory first. The ✨ button re-runs it any time.

can I fix mistakes?

Speech recognition isn’t perfect, especially with music or fast talkers. Line editing isn’t built in yet, so download the .srt and tweak it in any text editor.