M4A · AAC · free

M4A to text.

M4A is what iPhones, most Android recorders and most meeting apps produce. Drop one here and it is transcribed on your own device — free, unlimited, no account, and nothing uploaded.

iPhone defaultAAC audioNothing uploadedWorks offline

Drop audio or video here

MP3, M4A, WAV, WebM, Ogg, Opus — and the audio track out of MP4 or MOV video. Drop several and they run one after another. Nothing is uploaded.

You can also paste a file straight from the clipboard.

Transcription engine

WASM, single thread
Model — download size and speed, before you commit to either
Task

Nothing is downloaded until you press that button. The engine is a Web Worker running Whisper through ONNX Runtime — the weights come from a public model CDN once, then live in your browser’s cache.

Privacy, as live state

Audio uploaded
0 bytes
Transcription
Not started yet
Model
Not downloaded
Stored on this device
0 B in IndexedDB

One network request, and it isn’t your audio

The speech model itself downloads once (Balanced, 40–250 MB depending on the tier) from a public model CDN — huggingface.co, from the onnx-community/whisper-base repository. Your audio never does. It is never sent anywhere, and after that first load this page works with Wi-Fi off.

Verify it yourself: open DevTools → Network, clear it, then drop a file and transcribe. You will see requests for the model files and nothing carrying audio — because this feature has no upload endpoint and no API route behind it. Then turn off Wi-Fi and transcribe a second file: it still works.

Scope note, so this stays exact: the claim is about your audio and your transcript — neither leaves this device. The site around it is not claim-free. It loads Vercel Analytics for aggregate page traffic, plus Google Analytics and Ads tags if you accept the consent prompt. Those measure page visits and store-link clicks. They never receive your recording or your text, because nothing does. Full privacy policy.

“Delete all” clears saved transcripts, any recordings this browser kept, and the cached model weights.

Recording other people

Transcribing a conversation you recorded is a separate question from whether you were allowed to record it. Check which consent rules may apply. General information, not legal advice.

Planning storage for long recordings

Transcripts are tiny; the audio is not. Work out how much space recordings need before you record for hours, and read how on-device transcription works.

M4A, AAC and MP4 are the same family

An .m4a file is an MP4 container holding AAC audio. That is why the same page handles .m4a, .mp4, .m4b and .mov without a separate code path: the browser's decoder sees a container, finds the audio track and hands back samples. If your file is really a video with an .m4a extension, it still works — only the audio is read.

Where M4A files come from

iPhone Voice Memos, most Android recorder apps, WhatsApp exports on some platforms, Zoom and Teams audio-only recordings, and anything recorded in Safari — Safari's MediaRecorder produces MP4/AAC rather than WebM. Our own browser voice recorder produces M4A on Safari for the same reason.

Nothing needs converting first

Plenty of transcription tools ask you to convert M4A to WAV or MP3 before uploading. That is a limitation of their pipeline, not of the format. Here the browser does the decoding, and browsers have decoded AAC natively for years.

How the transcription works

The same four steps whatever you drop in — and none of them involve a server. Our guide to free audio to text online explains the whole pipeline in detail.

01

Your browser decodes the file

Whatever you drop — an MP3, a voice memo, the audio track inside an MP4 — goes through the Web Audio API's decoder, mixes down to mono and resamples to 16 kHz. That is the only format the speech model understands, and every step of it happens in the tab.

02

The speech model loads once

Pressing “Load transcription engine” fetches a quantised OpenAI Whisper model, converted to ONNX, from a public model CDN. It lands in your browser's Cache Storage. That download is the only network request this tool makes, and it happens once per model.

03

Whisper runs in a Web Worker

ONNX Runtime Web executes the model on WebGPU where your browser has it, and on WebAssembly where it does not. It runs in a worker, so a long file never freezes the page, and long audio is cut into overlapping chunks so progress is real rather than a spinner.

04

Text comes back with timings

Each segment carries a start and end time, which is what makes the transcript clickable and what makes SRT and VTT export possible. Overlapping chunk boundaries are de-duplicated, then the whole thing is written to IndexedDB in your browser so a refresh does not cost you the work.

Which model to pick

TierDownloadGood forWhere it struggles
Fast~40 MBVoice notes, clear single-speaker audio, phonesMisses names, jargon and strong accents; lighter punctuation
Balanced~80 MBMeetings, interviews, lectures on a laptopStill struggles with heavy cross-talk and very noisy rooms
Best~250 MBAccents, technical vocabulary, difficult recordingsNeeds WebGPU; slower than real time without a GPU

M4A to text — questions, answered

Do I need to convert M4A to MP3 or WAV first?+

No. M4A is decoded natively by every current browser, so it goes straight in. Converting first would only lose a little quality and cost you a step.

Will this work with M4A files from Zoom or Teams?+

Yes, provided you have the audio-only recording as a file. Drop it in like any other. If your recording is a video (.mp4), that works too — the audio track is decoded out of it.

What about .m4b audiobook files?+

They use the same container and codec, so they usually decode. Bear in mind an audiobook is hours long: use a desktop with WebGPU, and check the time estimate the page shows you before starting.

Is this free audio to text online, or do I have to install something?+

It is a web page — nothing to install and nothing to sign up for. Open it, drop a file, get text. The part that is unusual is where the work happens: instead of uploading your audio to a server, the page downloads a speech model into your browser the first time you use it and runs the transcription in the tab. So it is an online tool in the sense that you reach it over the web, and an offline one in the sense that after that first load it keeps working with the network off.

Is this really free, and is there a catch?+

It is free with no account, no email, no trial and no watermark. The catch, such as it is, is that your device does the work: there is no server doing the transcription, so speed depends on your hardware and a long file on a phone will take a while. There is nothing to pay because there is nothing to pay for — no compute is being bought on your behalf.

Is there a minute limit or a monthly cap?+

No. There is no minute cap, no monthly quota and no per-file length limit, because there is no metered service behind it. The practical limits are your device's memory and your patience: a two-hour recording works, it just takes proportionally longer than a two-minute one.

Do you keep my audio, or my transcript?+

No. Your audio is never sent anywhere — this feature has no upload endpoint and no API route behind it, so there is nothing to send it to. The transcript is written to IndexedDB in your own browser so a refresh does not lose your work, and “Delete all local data” clears it. To be exact about scope: the model weights are downloaded once from a public model CDN, which is a real network request. Your audio is not part of it.

Does it work offline?+

Yes, once the model has been downloaded. The weights are cached in your browser, so after the first load you can turn Wi-Fi off and keep transcribing. The first load does need a connection, because the model has to come from somewhere.

Which languages can it transcribe?+

The multilingual Whisper models cover 99 languages, including Spanish, Portuguese, Hindi, French, German, Arabic, Chinese, Russian, Japanese, Korean and Indonesian. Accuracy varies a lot by language — the model saw far more English than Sinhala. You can set the language explicitly, or leave it on auto. There is also a “translate to English” mode that transcribes any supported language straight into English.

How accurate is it compared to a paid service?+

On clear single-speaker audio the Balanced tier is close to what cloud services produce, because they are often running the same family of models. The gap opens on hard audio: heavy accents, cross-talk, noisy rooms and specialist vocabulary. Paid services also run larger models than a browser tab can reasonably download. Expect to fix a few names and technical terms — the inline editor is there for exactly that.

Can I transcribe a video?+

Yes. Drop an MP4, MOV or WebM and the audio track is decoded out of it; the video itself is ignored and never displayed or uploaded. Screen recordings and phone videos are two of the most common things people want transcribed, and there is no reason to make you extract the audio first.

Why is it slow on my phone?+

Two reasons. Phones do not generally expose WebGPU to browsers, so the model runs on WebAssembly instead of the GPU. And this site deliberately does not enable cross-origin isolation, which means the WASM backend runs on a single thread rather than several. Enabling it would break the analytics scripts the rest of the site loads, so the honest trade is a slower phone experience rather than a broken site. Use the Fast model on mobile, and expect a long recording to take a while.

Can I get subtitles out of it?+

Yes — SRT and WebVTT, both generated in your browser from the segment timings. Drop the .srt into a video editor or upload the .vtt as an HTML5 <track> file. You can edit any line before exporting, which is usually faster than fixing subtitles after the fact.

Can it tell speakers apart?+

Not properly, and it does not pretend to. There is an optional turn split based on pauses and loudness changes, labelled “approximate” everywhere it appears. That is not speaker diarization: it does not identify voices and cannot reliably separate two people sitting the same distance from one microphone. Real on-device diarization is an app feature rather than a browser one.

Can I transcribe a phone call?+

You can transcribe a recording of one, if you have a lawful recording of it. This page does not record calls and cannot — on a phone only one app can hold the microphone at a time, so a browser tab loses it the moment a call starts. Whether you may record a call at all depends on where everyone on it is; check the recording consent checker first. That is general information, not legal advice.

What happens to my file if I close the tab?+

The audio is gone — it only ever existed in the tab's memory and was never copied anywhere. The transcript survives, because finished transcripts are written to IndexedDB in your browser. Reopen the page and it is still there, along with the cached model, ready to work offline.

One file at a time, or all of them.

This page transcribes what you bring it. BlackBox records your day in the background and transcribes it on your phone automatically — same on-device promise, no manual step. Free on iPhone and Android.