Transcribe Audio to Text

Transcribe voice notes, interviews and meetings to text with a Whisper model that runs in your browser. Batch friendly, no upload, no account, no quota.

🌐 Español

Drop your files here (.mp3, .wav, .m4a, .ogg, .flac)

πŸ”’ Private by design: your files are processed locally in your browser and never uploaded to any server.

The recordings people want transcribed are the private ones

There is an obvious tension in transcription services. The audio most worth turning into text is a meeting, an interview, a lecture, a medical appointment or a voice memo to yourself, and all of those are things you would rather not upload to an unfamiliar site in exchange for a free tier.

Running the recognition model in the browser removes the tension rather than asking you to accept it. The model is fetched once from a public model host and then does its work on your own processor. No audio leaves the machine, no transcript is stored anywhere, and there is nothing to meter, which is also why there is no length cap or account.

Transcribing a recording

  1. Drop in one or more MP3, WAV, M4A, OGG or FLAC files.
  2. Leave Spoken language on auto unless the recording is short or noisy.
  3. Run it. The first run downloads the model, so it takes noticeably longer than the ones after.
  4. Download the transcript for each file, named after the original.

How a thirty second model transcribes an hour

Whisper processes a fixed thirty second window. Everything longer has to be broken up, and how it is broken up is where naive implementations lose text.

Cut a recording into clean thirty second slices and every cut lands in the middle of something. A word split across a boundary is heard as two fragments, neither of which is a word, and the model does its best with each half. Do that a hundred and twenty times in an hour long recording and the errors add up.

Here the chunks overlap by five seconds, so each boundary is covered by both of the chunks around it and the stitching logic can reconcile the two readings. A word at the seam is transcribed in full at least once. The cost is that five seconds out of every thirty is processed twice, which is a straightforward trade of time for accuracy.

The resampling step nobody mentions

The model does not accept an audio file. It accepts raw samples, in one channel, at exactly 16 kHz, and it does not convert anything for you. Hand it the wrong rate and it will still produce output, just wrong output, which is a particularly unhelpful failure mode.

So every file is decoded and resampled first. A stereo file is folded to mono and any sample rate is converted to 16 kHz. That is why the format you upload makes very little difference to the result, and why a high bitrate file will not transcribe better than a modest one.

What does make a difference is the recording itself. If a file is very quiet, running it through Normalize Audio first genuinely helps, because the model has more signal to work with. If one channel is dead, Convert Stereo to Mono can rescue it before the automatic downmix averages the good channel with silence. If there is constant background hiss, Remove Audio Noise is worth a pass.

Where accuracy comes from, and where it does not

The single biggest factor is the recording, not the settings. One speaker, a close microphone and a quiet room produce a transcript you can read straight through. A phone on a table in a meeting room with four people produces one you will spend real time correcting.

The model size is the second factor and it is fixed here. The smallest Whisper variant is what makes a browser based transcriber possible at all, and it makes more mistakes than the larger ones on accents, jargon and crosstalk. Knowing that in advance is more useful than being surprised by it.

What to do with the transcript

Once you have text, the other tools become available. Translate Text converts it between several languages on the same local basis. Text to Speech goes the other way if you want a read aloud version. For text locked inside an image rather than audio, Image to Text runs optical character recognition in the same way. The rest are on the audio hub.

Frequently asked questions

Is my audio uploaded to a transcription service?

No. A speech recognition model is downloaded once into your browser tab, roughly 10 MB of encoder and 31 MB of decoder in their quantized form, and every transcription after that runs on your own device. Neither the audio nor the resulting text is transmitted anywhere. That matters for the recordings people actually want transcribed, which tend to be meetings, interviews and personal notes rather than public material.

Which model is it and why the smallest one?

It is Whisper, in the multilingual variant of its smallest size. The size is a deliberate constraint rather than a compromise made lightly. A larger model would be more accurate and would also be a multi gigabyte download before you could transcribe a thirty second voice note, which is not a reasonable thing to ask of a web page. The multilingual build was chosen over the English only one because they are the same size and only the multilingual one can offer other languages.

When should I set the language instead of leaving it on auto?

Set it when the recording is short, noisy, or has more than one language audible. Detection works from the opening of the audio, so a clip that starts with background chatter or a few seconds of silence gives it less to work with than a clean sentence would. On a clear recording of any length, auto is reliable and there is no benefit to overriding it.

How does it handle a recording longer than thirty seconds?

The model itself only ever looks at a thirty second window, so longer audio is cut into thirty second chunks with a five second overlap between neighbours, transcribed chunk by chunk and stitched back together. The overlap is what stops a word that straddles a boundary from being lost or duplicated. There is no length limit imposed by the tool, so a long meeting works, it simply takes proportionally longer.

What happens to my file before the model sees it?

It is decoded and resampled to single channel audio at 16 kHz, because that is the only format the model accepts and it does not resample for you. That happens automatically for any of the accepted formats, so a 48 kHz stereo WAV and a 128 kbps MP3 both end up in the same shape. It also means the quality ceiling is set by the recording, not by the file format you happen to have it in.

Can I transcribe several files at once?

Yes. Drop in as many as you like and each one is transcribed in turn, producing its own text file named after the original with a .txt extension. Progress runs across the whole batch rather than restarting per file. Because everything runs locally, a batch is genuinely sequential work on your machine rather than a queue on somebody's server.

How accurate should I expect it to be?

Good enough to search, skim and quote from after a read through, and not good enough to publish unread. Clean speech from one speaker in a quiet room comes out close to correct. Accuracy falls with background noise, overlapping speakers, strong accents and specialist vocabulary, and the smallest model feels those effects more than a larger one would. Treat the output as a first draft that saves you the typing.

Related tools