ToolsTray

Star a tool to keep it here.

AI Audio Transcription

Audio transcription with Whisper. Drop in a recording and get editable text, plus SRT and WebVTT carrying timestamps, from any of four model sizes.

Runs entirely in your browser — your files and text never leave your device. The AI model downloads the first time you run this tool, then stays on this device — so later runs work offline.

Downloads the speech recognition model (~178 MB) the first time you run it, then works offline.

Drag & drop your file here, or

The model downloads once on first use, then runs and caches on your device — your audio is never uploaded.

How to use

  1. Put a recording into the Audio or video file box. Anything your browser can decode is fine, and .m4a, .opus, .flac and .mkv are accepted on the extension alone.
  2. Leave Model on Balanced unless you have a reason not to. Each option prints the download it will cost on the hardware you are using.
  3. Set Language if you know it, or leave it on Auto-detect. Task switches between Transcribe and Translate to English, and both controls lock while the English-only model is picked.
  4. Press Transcribe. The status line beside the button walks through reading the audio, downloading the model on a first run, then the transcription itself.
  5. Pick Plain text, SRT subtitles or WebVTT under Format, then use Copy transcript or Download.

About this tool

Audio transcription normally means handing a recording to somebody's server and waiting your turn in a queue. Here the file is decoded, downmixed to mono and resampled to 16 kHz, which is the rate Whisper was trained on, and then read back to you as text you can edit. A lecture, a standup, a phone interview, the voice memo you left yourself at a traffic light. Same job every time. The recording stays on your machine, which is the whole argument for working this way when the audio is a client call or a medical note.

The Model list holds four entries and they differ mostly in what they cost you up front. Fast is an English-only build at roughly 144 MB, or 114 MB where WebGPU is available. Balanced comes pre-selected and reads the languages in the dropdown, 278 MB without WebGPU and 178 MB with it. Accurate and Best sit at about 391 MB and 537 MB and both need WebGPU, so they grey themselves out on hardware that cannot run them. Whatever you settle on is remembered along with your language and your choice of Transcribe or Translate to English.

Long recordings get cut up before any of it reaches the model. Each stretch covers 120 seconds and overlaps the next by 10, and the overlap is sorted out afterwards by handing each line to whichever stretch holds its midpoint. Text arrives in the box as every stretch lands rather than all at the end. On a laptop there is also a checkbox to run stretches side by side once a file passes three minutes; each worker keeps its own copy of the model, which is why the label words it as a memory trade. Phones and tablets never see it.

Whisper likes to fill silence with things nobody said, so a cue that is only a thanks-for-watching or subscribe line, only a bracketed label such as [MUSIC], or only punctuation gets dropped before the text reaches you. Under Format you pick Plain text, SRT subtitles or WebVTT, then copy it or save it. The saved file borrows the source name with the extension swapped, so meeting.mp3 comes back as meeting.srt. If a run dies partway, the stretches that finished are kept and restored next time you open the page.

A 40-minute interview

Say the file is interview.m4a, 40 minutes of two people talking, on a laptop with no WebGPU. Balanced pulls down 278 MB the first time and nothing on any run after that. The 2,400 seconds of audio become 22 stretches, because each one starts 110 seconds after the last once the overlap is accounted for.

Text begins filling the box when the first stretch finishes and keeps growing from there. Switch Format to SRT at the end and Download writes interview.srt, cues timed against the original recording.

Good to know

  • A model small enough to download is a model that makes mistakes a big cloud service would not. Crosstalk, a strong accent, a fan running in the room, a surname it has never met: those are where it slips. There is no speaker labelling either, so a two-person interview comes back as one continuous block with the turns run together. Timestamps make a suspect line quick to locate, and anything being published or filed deserves a read-through first.

Frequently asked questions

What can I actually drop in?

MP3, WAV, M4A, FLAC, OGG, and video containers like MP4 or MKV, from which only the audio track is read. The picker also lets .m4a, .opus, .flac and .mkv through on the extension alone, for the cases where a browser reports no useful type. Whatever arrives is flattened to a single 16 kHz mono channel before the model sees it.

Do I download the model every time?

Once per model. The browser caches it after the first run, and later transcriptions start straight away with no network at all. Moving from Balanced to Accurate means paying for that second one, worth knowing on a phone plan or hotel wifi.

It restored a transcript I never finished. Where did that come from?

A run that gets cancelled or interrupted writes its finished stretches to a checkpoint. Opening the tool again brings those back with a note saying the run did not complete, so the first part is in hand while you decide whether to put the file through again for the rest.

Can I get English text out of a recording in another language?

Set Task to Translate to English and Whisper translates while it transcribes, keeping the original timings. Leave Language on Auto-detect or name it from the 24 in the dropdown; detection happens inside the model and is not confined to that list. The Fast model does neither, since English is all it knows.

Does it say who is speaking?

No. Diarisation is a separate problem and Whisper does not attempt it, so what you get is the words in order with nothing marking a change of voice. For an interview, the practical move is adding the names yourself against the timestamps while the conversation is still fresh.

The SRT cues are longer than a subtitle should be. Can I shorten them?

Not from here. Cues follow Whisper's own segment boundaries, which sometimes gives you a line wider than any broadcaster would accept. Load the SRT into the subtitle converter to split and retime it, or start with the video subtitle generator, which caps every cue at two lines of 42 characters as it writes them.

Missing something in AI Audio Transcription? Suggest a feature →

Tell someone who needs this.

LinkedInXWhatsAppEmail