Skip to main content

Transcribe Audio to Text

Turn any audio recording into an editable, timestamped transcript for free — in your browser, with no upload and no account. A small Whisper speech-recognition model downloads once, then the whole transcription runs offline in this tab; export the result as TXT, SRT or VTT subtitles.

Local-only

Heads up: transcription runs a neural network right in your browser. On modest devices, longer audio takes a while and your machine may warm up — shorter clips finish much faster.

Drop an audio file

or drop anywhere on this page · Choose a file · 100 MB

Accepted: MP3, WAV, OGG, OGA, OPUS, M4A, M4B, AAC, FLAC, ALAC, AIF, AIFF, AIFC, WMA, AC3, EAC3, DTS, AMR, AWB, CAF, MKA, APE, WV, TTA, MP2, MPC, SPX, AU, SND, VOC, 3GA

The speech model downloads once (~40 MB for Tiny), then everything — decoding, transcription, export — runs offline in this tab. Your audio never leaves this device.

How does Transcribe Audio to Text work?

The engine is Whisper, the open speech-recognition model whose tiny and base variants are small enough to run on a laptop CPU. It was trained on 680,000 hours of labelled audio, which is why it handles accents, background noise and domain jargon far better than the phoneme-based recognisers of a decade ago. This page runs the model with onnxruntime WebAssembly, entirely in your tab.

Why the audio is resampled first

Whisper expects exactly 16 kHz mono samples — it was trained on nothing else. Your file is decoded with the Web Audio API and resampled to that format before the model ever sees it, so MP3, WAV, OGG, M4A and FLAC all work. The resampling is mathematically transparent at speech frequencies; nothing the model could have heard is lost.

Chunking long recordings

Whisper consumes 30-second windows, so a long recording is sliced into overlapping 30-second chunks with 5 seconds of overlap. Each chunk is transcribed with timestamps, then the overlap region is assigned to the earlier chunk — words at the boundary are kept once, never doubled. The progress bar tracks this chunk by chunk, so a 15-minute interview visibly advances instead of hanging.

What it cannot do

The tiny model (~40 MB) is fast — roughly real-time on a modern laptop — but it stumbles on heavy accents, crosstalk and technical vocabulary; the base model (~80 MB) is noticeably more accurate at the cost of a longer download and slower transcription. Neither diarises speakers: overlapping voices come out as one stream, and the page does not claim to tell your speakers apart.

Example input

interview.mp3 — 12 minutes, two speakers

Example output

Timestamped transcript: “0:04 So the first thing we tried…” → export as .srt

What options and edge cases does Transcribe Audio to Text support?

Options
ParameterTypeDefaultBehaviour & edge cases
ModelTiny / BaseTinyTiny (~40 MB) transcribes fast and is fine for clear speech. Base (~80 MB) is more accurate on accents, noise and jargon, but downloads and runs slower.
Language14 optionsAuto-detectWhisper detects the language itself; picking it explicitly is slightly faster and more accurate for short clips.
Inputaudio/*—MP3, WAV, OGG, M4A, FLAC and anything else your browser decodes. Capped at 250 MB and 20 minutes so the tab stays responsive.
TimestampsautomaticOnEvery segment carries start/end times. Click a timestamp to jump the audio player there.
ExportsTXT / SRT / VTT—Plain text, SubRip subtitles and WebVTT subtitles — generated from your edited transcript, not the raw model output.

Frequently asked questions

Is my audio uploaded anywhere?

No. The only network request this page makes is downloading the Whisper model (~40 MB for tiny, ~80 MB for base) from this site, once — after that it works fully offline. Decoding, resampling and transcription all run in this tab. Open DevTools on the Network panel and transcribe something: your audio is never sent anywhere.

Which model should I choose — tiny or base?

Tiny for speed: it downloads in seconds and transcribes roughly in real time, and it is accurate enough for clear, single-speaker recordings. Base when accuracy matters: interviews with accents, background noise, crosstalk or technical terms. Base is about 2–3× slower. Both run on your CPU; neither needs a GPU.

What audio formats are supported?

Anything your browser can decode: MP3, WAV, OGG, M4A, FLAC and most others. The file is resampled to 16 kHz mono before transcription, which is what Whisper expects. Files are capped at 250 MB and 20 minutes so the tab never freezes.

How accurate is the transcription?

On clear speech, Whisper is remarkably good — comparable to paid services for English and the other well-represented languages. It degrades with heavy accents, overlapping speakers, music and very noisy recordings. The transcript is fully editable segment by segment, and the timestamps let you jump straight to any doubtful passage in the audio to check it.

What is the difference between SRT and VTT?

Both are subtitle formats with the same timestamps. SRT (SubRip) is the universal one — video players, YouTube and editing software all read it. VTT (WebVTT) is the web-native format, used for HTML5 video tracks. TXT is just the plain transcript with no timestamps.

Can it tell speakers apart?

No — this is transcription, not diarisation. Overlapping or alternating speakers come out as one continuous stream of text. If you need “who said what”, you would need a speaker-diarisation model, which this page deliberately does not run: it would double the download and the processing time for a feature most transcripts do not need.