Technology and privacy
How local Whisper transcription works
Whisper Online runs whisper.cpp through a multithreaded WebAssembly worker. The model is downloaded from Hugging Face, while the selected audio or video is decoded and transcribed on the device.
Quick answer
Whisper Online downloads a whisper.cpp model, processes the selected media locally, lets you correct individual timed words, and exports the result without uploading the media file.
Step by step
The practical workflow
- 1
The browser checks required capabilities
WebAssembly, workers, shared memory, cross-origin isolation and Web Audio must be available.
- 2
The selected model downloads
A compatible quantized whisper.cpp model is fetched directly from Hugging Face.
- 3
Media becomes local audio samples
The browser decodes the selected file and prepares mono audio for inference.
- 4
A worker runs transcription
Inference runs away from the main interface and returns editable timed tokens.
Local does not mean no network at all
The application and selected model must be downloaded. The privacy distinction is that the selected media is not sent to this application's server for transcription.
After the required assets are available, inference uses the device's CPU, memory and browser runtime.
Why browser compatibility matters
Multithreaded WebAssembly requires shared memory and cross-origin isolation. Unsupported clients receive a message before model loading. In-app browsers, older browsers and restrictive embedding contexts may not expose the necessary capabilities.
- Use a current desktop browser over HTTPS.
- Start with the Tiny model on limited hardware.
- Close memory-heavy tabs before using larger models.
- Expect processing speed to vary substantially by device.
Practical limitations
The current app does not provide speaker diarization, translation, cloud synchronization or collaborative review. Larger models can require enough memory to make a tab temporarily unresponsive on constrained systems.
Local transcription is a useful privacy property, not a guarantee of accuracy. Review consequential text against the original media.
Why use local transcription?
FAQ
Common questions
Is Whisper Online completely offline?
No. The application and model are downloaded from the network. The selected media itself is processed locally rather than uploaded for transcription.
Why is SharedArrayBuffer required?
The Emscripten build uses shared WebAssembly memory for multithreaded inference.
Where do models come from?
Supported quantized models download directly from the official ggerganov/whisper.cpp repository on Hugging Face.
Why can a larger model feel slow?
Larger model files require more download bandwidth, memory and computation. Browser and device limits still apply.
Related guides