How to convert aac and m4a to mp3 — free browser converter
- Step 1Drop your AAC or M4A file — Drag a
.aacor.m4aonto the dropzone. The tool also reads MP3, WAV, FLAC, OGG, Opus and video, but always outputs MP3. - Step 2Let the engine detect the codec — FFmpeg identifies the AAC stream whether it's wrapped in an MP4 container (M4A) or raw (.aac) — you don't pick a 'mode'.
- Step 3Choose a bitrate — Open the Bitrate dropdown — the only control. 320/256 for music, 192 default, 128/64 for speech. Sample rate and channels pass through.
- Step 4Convert in the browser — The AAC is decoded and re-encoded to MP3 with LAME locally. Any tags and cover art in the source (usually the M4A) are copied to ID3v2.3.
- Step 5Download the MP3 — Save the result — a standard MP3 that plays everywhere, with metadata where the source had it.
- Step 6Add tags to a bare AAC result — A raw
.aacusually has no metadata, so its MP3 comes out untagged. Add title/artist/album with the ID3 tag editor if you want them, or pull a cover image out with the album-art extractor. For a Telegram or WhatsApp voice note instead of an AAC file, use the Opus to MP3 converter.
AAC vs M4A — same codec, different container
Why one tool covers both. The audio codec is identical; only the wrapper and what metadata it can hold differ.
| Aspect | Raw .aac | .m4a (MP4 container) |
|---|---|---|
| Codec | AAC | AAC (or sometimes ALAC lossless) |
| Container | None — raw ADTS stream | MP4 / ISO base media |
| Tags (title/artist/album) | Usually none | Yes — carried to ID3v2.3 on output |
| Embedded cover art | No | Yes — re-attached byte-for-byte |
| Where it comes from | Streams, some voicemail, transport exports | iTunes, Apple Music, Voice Memos, GarageBand |
| Handled by this tool | Yes — decoded to MP3 | Yes — decoded to MP3 |
Bitrate options in the picker
The Bitrate dropdown is the only control on this tool. MP3 is encoded with LAME (libmp3lame) at the constant bitrate (CBR) you choose; the default is 192 kbps. There is no sample-rate or channel control here — the source's sample rate and channel layout pass through unchanged.
| Picker value | FFmpeg flag | Typical use | Approx. size / minute (stereo) |
|---|---|---|---|
| 320 kbps · best | -b:a 320k | Music, mastered exports, the highest MP3 quality available here | ~2.4 MB |
| 256 kbps | -b:a 256k | Music and interviews where you want headroom but a smaller file than 320 | ~1.9 MB |
| 192 kbps · default | -b:a 192k | All-round default — transparent for most spoken-word and casual music | ~1.4 MB |
| 128 kbps · podcast | -b:a 128k | Podcasts and talk content where file size matters more than music fidelity | ~0.94 MB |
| 64 kbps · voice | -b:a 64k | Mono voice notes, dictation, transcription source where size is critical | ~0.47 MB |
Per-file limits by plan
Limits come straight from the audio tier table. Note the per-file DURATION cap is separate from the file-size cap — a long-but-small recording can hit the minutes limit before the megabytes limit. M4A to MP3 is on the Free tier.
| Plan | Max file size | Max duration / file | Files per run |
|---|---|---|---|
| Free | 50 MB | 30 minutes | 1 |
| Pro | 200 MB | 120 minutes | 10 |
| Pro + Media | 100 GB | Unlimited | 100 |
| Developer | 100 GB | Unlimited | 100 |
Cookbook
Conversions that show AAC and M4A taking the same path. The engine builds the FFmpeg call from your Bitrate choice regardless of the wrapper.
Raw .aac stream to MP3
A bare ADTS AAC file (no container, no tags) converted to a clean MP3. Same code path as M4A — the engine reads the AAC stream directly.
Input: capture.aac (raw AAC, no tags) Picker: 192 kbps · default ffmpeg -i capture.aac -c:a libmp3lame -b:a 192k \ -map_metadata 0 ... capture.mp3 Output: capture.mp3 (192 kbps, no tags — source had none)
M4A with tags and art to MP3
An Apple .m4a carries title/artist/album and a cover image. The same converter copies all of it to the MP3, because the M4A's container holds metadata the raw AAC doesn't.
Input: song.m4a (AAC + tags + cover art) Picker: 320 kbps · best ffmpeg -i song.m4a -c:a libmp3lame -b:a 320k \ -map_metadata 0 -map 0:a -map 0:v? -c:v copy \ -disposition:v:0 attached_pic -id3v2_version 3 song.mp3 Output: song.mp3 (320 kbps, tags + art preserved)
Mislabelled file converts anyway
A file named .aac that's actually an MP4-wrapped M4A (or vice versa) still works, because FFmpeg detects the real codec rather than trusting the extension.
Input: track.aac (actually an MP4/M4A inside) Picker: 256 kbps Result: detected as AAC-in-MP4, decoded, re-encoded to MP3. The extension didn't matter — the stream did.
ALAC inside an .m4a (lossless source)
Some .m4a files hold Apple Lossless, not AAC. The tool still converts — but it's lossless-to-lossy, so use 320 kbps to keep quality.
Input: master.m4a (ALAC lossless) Picker: 320 kbps · best Output: master.mp3 (320 kbps lossy) Keep the ALAC original — the MP3 can't reverse the loss.
Speech AAC to a small podcast MP3
A spoken-word AAC captured from a stream, shrunk to 128 kbps for a podcast feed where size matters more than music fidelity.
Input: episode.aac Picker: 128 kbps · podcast Output: episode.mp3 (128 kbps) Next: tag it with /audio-tools/id3-editor for the feed.
Edge cases and what actually happens
Raw .aac has no tags to copy
By designA bare AAC stream usually carries no metadata, so the MP3 comes out untagged — that's expected, not an error. Add title/artist/album afterward with the ID3 tag editor.
File extension doesn't match its real codec
SupportedAn .aac that's really MP4-wrapped, or an .m4a holding something unexpected, still converts — the engine detects the actual stream. Only a genuinely unsupported or corrupt stream errors out.
ALAC (Apple Lossless) in an .m4a
SupportedNot all .m4a is AAC — some is ALAC lossless. FFmpeg decodes it and re-encodes to MP3, but you're going lossless-to-lossy, so pick 320 kbps and keep the original.
DRM-protected M4A (.m4p / Apple Music)
Fails — DRMEncrypted FairPlay files can't be decoded by FFmpeg whether you call them AAC or M4A. Only unprotected files convert; re-acquire a DRM-free copy if needed.
ADTS AAC with frame errors
ErrorA raw AAC captured mid-stream can have broken frames at the start that FFmpeg can't sync to, causing a decode error. Re-capture from the beginning or remux the stream cleanly first.
Output bigger than the AAC source
ExpectedMP3 is less efficient than AAC, so matching quality needs more bits. A 256 kbps AAC at 320 kbps MP3 grows. Use a lower bitrate or the bitrate changer to target a size.
File over the plan size / duration cap
RejectedFree allows 50 MB and 30 minutes per file (the caps are independent). Pro raises both; Pro + Media and Developer remove the duration cap. A file beyond your plan is rejected before processing.
Several AAC/M4A files at once on Free
LimitedFree converts one file per run regardless of whether it's AAC or M4A. Use Pro (10 per run) or higher for batches.
Frequently asked questions
What's the difference between AAC and M4A?
AAC is the audio codec; M4A is an MP4 container that wraps AAC (plus tags and cover art). A raw .aac is the same encoded audio without the container. That's why one tool converts both.
Do I need a separate AAC converter?
No. This tool decodes both raw .aac and .m4a because they share the AAC codec — there isn't a separate AAC-to-MP3 tool, and you don't need one.
Will my tags and album art convert?
If they exist. M4A files carry tags and cover art, which copy to ID3v2.3 and re-attach in the MP3. Raw .aac usually has no metadata, so that MP3 comes out clean — add tags afterward with the ID3 editor.
How does the tool know if my file is AAC or M4A?
It doesn't rely on the extension — FFmpeg detects the actual codec and container, so a mislabelled file still converts correctly.
Is every .m4a file AAC?
Almost, but not always — some .m4a files contain Apple Lossless (ALAC). The tool converts those too, but it's lossless-to-lossy, so use 320 kbps and keep the original.
Which bitrate should I pick?
256 or 320 kbps for music, 192 (default) for general use, 128 or 64 for speech. The dropdown is the only control on the tool.
Does converting lose quality?
Yes, a little — AAC and MP3 are both lossy, so this is a second generation of compression. The highest bitrate (320) keeps it inaudible for most listeners.
Is anything uploaded?
No. Both AAC and M4A are processed locally in your browser via FFmpeg WebAssembly — nothing is sent to a server.
Why is my MP3 bigger than the AAC?
MP3 is a less efficient codec, so it needs more bits for the same quality — a 256k AAC becomes a larger 320k MP3. Drop the bitrate or use the bitrate changer if size matters.
Can it convert a raw AAC stream from a capture?
Yes, as long as the stream isn't broken at the start. A clean ADTS AAC decodes fine; a mid-stream capture with damaged opening frames may fail to sync.
What other formats can I feed it?
Besides AAC and M4A: MP3, WAV, FLAC, OGG, Opus and video. The output is always MP3 — use the matching converter (such as the WAV or Opus tools) for other targets.
Is it free?
Yes — a Free-tier tool with no account: 50 MB / 30 minutes, one file at a time. Paid plans add bigger files, longer durations, and batches.
Privacy first
Every JAD Audio tool runs entirely in your browser via FFmpeg (WebAssembly) and RNNoise. Your audio files never leave your device — verified by zero outbound network requests during processing.