On-device AI · WebGPU

Transcribe audio without sending it anywhere.

Free on-device Whisper speech-to-text: transcribe audio and video in 99 languages with speaker turn labels, mic recording, five export formats and 5-file batches. No upload, no watermark.

Detecting GPU…
99 languages
100% private
Why Speech-to-Text

Whisper-quality transcripts, made locally.

OpenAI's Whisper model runs locally in your browser through Transformers.js.

100% private

Your audio never leaves your device. Transcription happens entirely locally.

WebGPU acceleration

Inference uses your GPU when one is available, with a WASM fallback.

The Whisper model

Multilingual speech recognition with automatic language detection.

Upload or record

Drag and drop audio or video files (MP3, WAV, M4A, MP4, MOV…) or record live from your microphone.

Three model tiers

Choose Tiny for speed, Base for balance, or Small (244M params) for accents and noisy rooms. Every model runs locally and caches after first use.

Batch queue + speaker turns

Transcribe up to 50 files in a queue and download them as one ZIP. Pause-based A/B speaker labels organize conversations — rename or merge tags in a click.

How it works

Record, transcribe, export.

  1. 01

    Upload or record

    Drag and drop an audio file, or record live. MP3, WAV, M4A, and more.

  2. 02

    Whisper transcribes

    Whisper runs locally and turns the audio into text with timestamps.

  3. 03

    Copy or download

    Copy the transcript or download it as a text file. The model stays cached for reuse.

Complete guide

About Speech-to-Text

A free speech-to-text tool that transcribes audio and video locally in your browser, powered by a Whisper model running on your own device. It is intended for meetings, interviews, lectures, podcasts, and voice memos — including sensitive recordings that should never be uploaded to a cloud transcription service.

There is no account, no job queue, and no per-minute billing. You pick one of three Whisper tiers, drop a file or record directly, and get an interactive transcript with timestamps, speaker turn labels, and five export formats — all in the tab you opened.

How it works

Files are decoded in the browser with the Web Audio API and resampled to the 16 kHz mono audio Whisper expects. The model then runs through Transformers.js in overlapping 30-second windows with a 10-second overlap, so hour-long recordings stream progress as they go and timestamps stay accurate across window boundaries. On WebGPU-enabled Chrome or Edge the model executes on the GPU and a one-hour file can finish in well under real time; Safari, Firefox, and older machines use a WebAssembly path with exactly the same features. Model weights download once and are cached by the browser, after which transcription works offline.

Three Whisper models, 99 languages

You choose the trade-off yourself: tiny is a 39-million-parameter model around 150 MB and is fast on any device; base (74 million, about 220 MB) is the recommended balance of accuracy and speed; small (244 million, roughly 600 MB) is the most accurate tier and rewards you on accents and noisy recordings at the cost of download size and inference time. The timestamped builds of all three provide per-word timings, which drive click-to-seek playback and word-level exports.

Automatic language detection is one click away, or you can pin any of roughly 99 supported languages — from English, Mandarin and Japanese to less-resourced options — which also helps accuracy on short clips where detection has little signal.

Speaker turn labels

When a transcript contains pauses between people, the tool rotates Speaker A, Speaker B (and so on) across the turns, using pause length — by default gaps of around 0.8 seconds — rather than voice characteristics. Labels appear in the transcript and in the exported files, and you can rename them (to real names, roles, anything) and merge adjacent turns that belong together.

This is deliberately honest wording: it is turn labeling, not voiceprint or speaker recognition. The model never analyzes who a person is, so the same speaker returning after a long pause can receive a new label the same way a genuinely new speaker would.

Recording, editing and exports

Beyond dropping files, you can record a microphone directly: a live level meter shows the input, you can pause and resume, and finishing the recording queues it for transcription automatically. The finished transcript pairs a custom audio player — click any line to seek, watch the current line highlight — with inline text editing, full-text search, and stats for duration, word count, and elapsed processing time.

Export the result as SRT or WebVTT with timestamps and speaker labels, plain TXT, Markdown, or structured JSON, or simply copy it to the clipboard. Nothing is watermarked.

Free and Pro limits

The free tier transcribes files up to 30 minutes each and queues up to 5 files per batch, downloaded individually or together as a ZIP. Pro raises a single file to 180 minutes and batches to 50 files. Neither tier has a run count, a monthly minute quota, or a watermark, and both include commercial use — the only differences are per-file length and batch size. Files beyond your limit are rejected with a clear message and an upgrade path; they are never silently trimmed.

Common questions

Does speaker labeling replace professional diarization? No — it rotates labels on pauses and is honest about that; for production-grade attribution you still review and rename the turns.

Can I work offline? Yes, after the model tier you picked has been downloaded once; the browser keeps it and reuse needs no connection.

What happens with very long recordings on a low-RAM device? Processing scales with device memory, so splitting multi-hour recordings is the practical workaround; WASM mode keeps every feature available when WebGPU is missing.

Is commercial use really included on the free tier? Yes — outputs are yours, with no watermark and no per-use fee.

Support

Answers about Speech-to-Text

No. Everything runs in your browser. The Whisper model downloads once from Hugging Face and caches locally; after that, transcription is 100% on-device.

Related tools