Oncea file clinic

Convert audio

Change the format of a small audio file, in this tab. MP3, WAV, AAC, or OGG out. No account. The download is just a file.

Before you start. About 80 MB is the ceiling. Desktop Chrome or Firefox is the setup that works. iPhone and large files may fail — the work stays in this tab, and the browser can run out of memory.

Drop one audio file or a WhatsApp voice note. Pick a format, then convert. Nothing is uploaded.

How to convert audio on this page

  1. Read the limit note above the zone first. About 80 MB. Desktop Chrome or Firefox. iPhone and large files may fail.
  2. Drop one audio file — mp3, wav, m4a, aac, ogg, opus, flac, or webm — or a WhatsApp voice note. Click the zone if you would rather pick the file.
  3. The clip plays in this tab so you can check it is the right one.
  4. Choose MP3, WAV, AAC (an .m4a), or OGG. For MP3, pick 128, 192, or 320 kbps. 192 is the default.
  5. Click Convert audio. The first run in a session loads the same ffmpeg core as Extract audio — about 25 MB from this origin — and keeps it for the tab.
  6. The new file plays in this tab. Download it. There is no watermark and no signup.

This is a format change. The file is already audio. If you have a video and want the soundtrack, that is Extract audio — video goes in, AAC or MP3 comes out. Convert will refuse a video drop and point you there.

What this page actually does

The browser loads ffmpeg compiled to WebAssembly, the same stack as Compress video, Trim video, Video to GIF, and Extract audio. Your file is written into that virtual filesystem. We ask ffmpeg for the first audio stream only (-vn), encode it in the format you picked, and read the bytes back as a Blob. The file is not uploaded to Once. There is no queue and no render farm. If the tab dies, the job dies with it.

MP3 uses libmp3lame at the bitrate you picked. AAC is the built-in encoder at 192 kbps, wrapped as .m4a. WAV is uncompressed PCM. OGG tries libvorbis and falls back to Opus if that encoder is missing from the wasm build. If the first pass fails, we retry with a simpler command. The point is a file other apps will open, not a mastering suite.

Why the limits are loud

ffmpeg.wasm is a real encoder inside a browser memory cap. A two-hour lecture will not finish. A studio archive dump will not finish. About 80 MB is the ceiling we advertise because past that the tab tends to crash before it helps you. Forty megabytes can already be painful. The encoder core itself is about 25 MB, loaded once per session from this origin. We warn, we do not pretend.

iPhone Safari is a bad host for this. Shared memory, wasm, and large ArrayBuffers are where mobile browsers cut you off. Use a laptop. If you are on a phone, AirDrop the voice note to a computer and run this page there.

SharedArrayBuffer needs Cross-Origin-Opener-Policy same-origin and Cross-Origin-Embedder-Policy require-corp. Next.js sets both in next.config.mjs. This version still loads the single-thread core so a missing header does not hard-fail the page. If isolation is off, the tool says so. Convert is just slower.

What you should expect

A new container, re-encoded. A WhatsApp voice note becomes an MP3 you can drop on a form. A WAV becomes an AAC you can send. 192 kbps is speech-and-podcast quality. 128 is lighter. 320 is the ceiling we offer — it will not match a studio master, and if the source was already a 64 kbps voice note the output can be larger than the input. That is fine. We are making a normal audio file from a container that was awkward to open.

WAV is uncompressed. It will be bigger than the source. Use it when the next tool wants PCM, not when you want a small file.

The first click in a session pays for the wasm core. After that, another short clip is just encode time. Leave the tab in the foreground. Background tabs get throttled and look frozen.

What this is not

This is not a video → audio extractor — that is Extract audio. It is not a stem splitter, not a ringtone factory, and not a YouTube downloader. We will not add a login to unlock FLAC out. If you need a folder of files, install ffmpeg on a machine you control: ffmpeg -i in.ogg -c:a libmp3lame -b:a 192k out.mp3. Once is for the one voice note whose format you need in the next minute.

FAQ

Is the file uploaded?

No. Local verb. The privacy page is the same sentence in writing. The encoder files are served from this origin after install, not used as a place to park your clip.

Which formats can I drop?

mp3, wav, m4a, aac, ogg, oga, opus, flac, webm — including a WhatsApp voice note you saved off the phone. A video file belongs on Extract audio. The decoder inside ffmpeg.wasm is not a full desktop build. An odd codec can fail. If it fails, the error stays on this page.

What is the difference from Extract audio?

Extract pulls a soundtrack out of a video. Convert changes the format of a file that is already audio. Same encoder, different verb.

Why is it so slow?

Because it is ffmpeg in a sandbox, often on one thread, without hardware encode. Native ffmpeg on the same machine will always win.

Do you keep a copy or watermark it?

No copy, no watermark, no paywall on the result. A finished job only increments a localStorage counter on this device, key once:jobs.

The tab crashed. Did you get the file?

No. A crash is a crash. Try a shorter clip or a desktop with more RAM. The 80 MB cap exists so we say no before the browser does.

Is there a shorter URL?

/mp3 is a thin alias of this page, MP3-first. Same encoder, same limits.