◆ AI CLEANUP

Transcribe audio — without uploading it

The speech model downloads to your browser and runs on your own machine. No account, no per-minute meter, no recording sitting on someone's server.

Every transcription service — Otter, Rev, Descript, every "free audio to text" site — uploads your recording to their servers, because that is where their model lives. For a therapy session, a medical consult, a legal call or an interview with a source, that is often the one thing you cannot do. This runs OpenAI's Whisper inside your browser instead: about 42MB downloads once, and after that the audio never moves.

Drop an audio or video file MP3, WAV, M4A, OGG, FLAC, MP4, MOV · decoded on your device, not uploaded

Questions people ask

Is my recording uploaded?

No. The Whisper model is downloaded to your browser and the audio is transcribed on your own CPU. Nothing is transmitted — the uploads counter in the top bar stays at 0 throughout, and you can watch it in your dev-tools Network tab. This is the one thing an online transcription service structurally cannot offer: their model lives on their server, so your recording has to go there.

Why is there a 42MB download?

It is about 42MB of model plus a roughly 13MB WebAssembly runtime shared with the other on-device AI tools — so around 55MB on a first visit, and 42MB if you have already used one of the others. Because the speech model runs on your machine instead of ours, and a speech model is a big file. Your browser caches it after the first run, so it happens once. We tell you the size before it starts rather than pulling it silently.

What files can I use?

Anything your browser can decode: MP3, WAV, M4A, OGG, FLAC, and the audio track of MP4 or MOV video. Video works directly — the audio is extracted locally, so you can drop a screen recording straight in.

How accurate is it?

This is Whisper tiny (English). It is good on clear speech with one speaker, and less reliable with strong accents, crosstalk or background noise, and it does not label who is talking. As a first-draft transcript you then tidy up it is genuinely useful; for anything that has to be exact, read it against the audio.

Is there a length or minutes limit?

No account and no per-minute meter — the practical ceiling is about an hour, and that is your browser's memory rather than a policy. Split longer recordings first.

Does it work offline?

After the first run, yes. The model is cached by your browser and by this site's service worker, so it keeps working on a plane.

How this works & why it’s private

Your file is read into memory and decoded with the browser's own Web Audio API, which handles every format your browser can already play — including the audio track inside a video. The result is downmixed to mono and resampled to the 16kHz Whisper expects, then fed through OpenAI's Whisper model (Apache-2.0) running under ONNX Runtime compiled to WebAssembly. The model weights, the tokenizer and the runtime are all served from this domain — not a CDN, and not HuggingFace — so no third party sees your recording or even your IP address. The library is configured with remote model loading switched off entirely, which means a missing file fails loudly instead of quietly fetching from someone else's server. Open your dev-tools Network tab and watch: your audio never appears in a request body.