Captions that never see a server
Every other caption tool asks you to upload first. This one cannot, because there is nowhere to upload to — the speech-to-text model and the video renderer both run inside your browser, on your own machine.
How it actually works
When you open a video, the browser reads it from disk. It is never copied to a server, and on Chromium browsers it is not copied into browser storage either — the app keeps a handle to the file where it already lives.
The audio is decoded locally and passed to Whisper, OpenAI’s open-source speech-to-text model, running as WebAssembly in a worker thread. The model weights download once from a public CDN and are cached; your audio is never part of that request.
Export encodes frames the browser has drawn itself. The finished MP4 is assembled in memory and handed to your downloads folder. At no point does a byte of your footage cross the network.
You do not have to take our word for it
Open your browser’s developer tools, switch to the Network tab, and generate captions. You will see the model weights download on the first run, and nothing at all after that. No upload, no background sync, no telemetry carrying your video.
That is the difference between a privacy policy and an architecture. A policy is a promise about what a company chooses to do with your files. This is a statement about where the files went — and they did not go anywhere.
Why this matters more than it used to
Uploading a video to a cloud editor means agreeing to that company’s terms, which increasingly cover how your content may be used to train models. Several tools now sell training-data exclusion as an enterprise feature — meaning that keeping your own footage out of a training set requires a custom contract and a large invoice.
Unpublished footage is the case that really matters. A client’s rough cut, an unreleased product, a face that has not consented to being in a dataset. If the file never leaves the machine, none of that is a question you have to ask.
What it costs you
The honest trade: running the model locally is slower than a data centre with a GPU. The first run downloads about 80 MB of model weights, and a two-minute clip takes roughly two minutes to transcribe on an average laptop. After that download it works offline.
A cloud service will be faster. It will also have a copy of your video.
Questions
Is my video really never uploaded?
Correct. Transcription and rendering both run in your browser. You can verify it in the Network tab of your browser’s developer tools while captions are generating.
What is downloaded, then?
The speech-to-text model itself — about 80 MB, once, from a public CDN. It is cached afterwards, so later videos need no download and work offline.
Do you store my captions or transcripts?
No. Projects, captions and styling are saved in your own browser’s storage. Nothing is sent to us.
Is my video used to train AI models?
It cannot be. We never receive it. The model is a fixed, pre-trained open-source release that does not learn from what you caption.
Does it work offline?
Yes, once the model has downloaded. The editor, the transcription and the export all work with no connection.
More free caption tools
Try it on your own video
Nothing to install, no account, and your video never leaves your device. Free exports are unlimited.
Caption my video — free