MP3 → M4A
MP3 to M4A converter
MP3 audio is decoded and re-encoded as AAC inside an MP4 container with an .m4a extension. Both codecs are lossy, so this costs one generation of quality.
…or drag files and folders here. Add as many as you like — everything is processed on this device.
.aif .aifc .aiff .flac .mp3 .oga .ogg .opus .wav .wave
In one paragraph
M4A is what Apple’s ecosystem expects. Apple Music’s local library, iOS, macOS, Apple Watch sync, CarPlay and AirPlay all handle it natively, and it supports proper cover art, album artist, disc numbers and gapless metadata in a way ID3 never managed cleanly.
AAC is also genuinely a better codec than MP3 — at 128 kbps the difference is clear. That does not mean converting an existing MP3 improves it, but it does mean you can hold the same perceived quality in a slightly smaller file.
Does this change the audio quality?
Both sides of this conversion are lossy, so the encoder is working from audio that has already been through a codec. The result is one generation further from the original recording.
- Do not convert an MP3 to a lower AAC bitrate expecting AAC’s efficiency to save you — you are stacking two codecs’ artefacts.
- The output uses the native FFmpeg AAC encoder (AAC-LC), not Apple’s. At 192 kbps and above the difference is not audible; at 96 kbps Apple’s encoder is better.
- M4A is not the same as M4R. If you want a ringtone, use the M4R converter.
A worked example
Consolidating a mixed MP3 library for an iPhone
- Drop the MP3s in and check the source bitrate column.
- Set 192 kbps for the 256–320 kbps sources and 128 kbps for the 128 kbps ones — matching roughly, never going below.
- Turn on Keep cover art so album art survives into the MP4 container.
- Convert all, download the ZIP, and add the M4A files to your library.
Match or slightly exceed the MP3 bitrate
AAC’s efficiency advantage lets you match the perceived quality of a 192 kbps MP3 at around 160 kbps AAC — but only when encoding from a lossless source. From an existing MP3 the encoder is trying to reproduce artefacts as well as music, so keep the bitrate at or just above the source. If you have the original lossless files, encode from those instead and skip a generation entirely.
Supported formats, limits and browser notes
Sonic Batch decodes with the browser when it can (faster, no engine download) and falls back to the self-hosted WebAssembly engine when it cannot. Every combination below works in every listed browser; the column only tells you which decoder does the work.
| Input | What it is | Chrome | Firefox | Safari | iOS |
|---|---|---|---|---|---|
| MP3 | The universal lossy format. Plays on essentially every device made since 1998. | Native | Native | Native | Native |
| WAV | Raw PCM samples with a small header. Perfect fidelity, roughly 10 MB per stereo minute. | Native | Native | Native | Native |
| FLAC | Lossless compression, typically 50–60% of WAV size, bit-identical when decoded. | Native | Native | Native | Native |
| OGG | Royalty-free lossy codec. Standard in game engines, Godot, Unity and Wikimedia. | Native | Native | Engine | Engine |
| Opus | The best-sounding lossy codec below 128 kbps. Used by WhatsApp, Discord and YouTube. | Native | Native | Partial | Partial |
| AIFF | Apple’s uncompressed PCM format — the WAV equivalent for Logic and Pro Tools. | Partial | Partial | Native | Native |
| Output | Encoder | Bitrates / depth | Sample rates | Tags |
|---|---|---|---|---|
| M4A | aac | 32–320 kbps | 8–48 kHz | Yes + artwork |
- Max per file
- 400.0 MB
- Max per queue
- 4.00 GB
- Max duration
- 4:00:00
- Max archive
- 1.50 GB
These are enforced ceilings, checked before any decoding starts, not measured maximums — a file over the limit is rejected rather than allowed to exhaust the tab’s memory. Real-world capacity is lower on older phones, which is why the scheduler runs one file at a time on iOS and Safari.
Where your audio goes
Nowhere. Your file is read from disk into this browser tab with the File API, decoded and encoded by code running in that same tab, and handed back to you as a download. It is never transmitted.
That is a structural property of the application, not a policy promise: there are no API routes, no server actions and no third-party processing services in this project, so there is nothing capable of receiving a file. The page’s Content-Security-Policy also restricts connections to this origin, and the automated test suite includes a browser test that fails if any network request during import, preview, conversion or download carries media bytes.
The trade-off, stated plainly:results live in your tab’s memory until you download them. Closing or reloading the page discards them. There is nothing on a server to recover, because nothing was ever put there.
Troubleshooting
The .m4a will not play in an older Android app.
Android has supported AAC in MP4 for many years, but some very old apps key on the extension. Renaming to .mp4 sometimes helps; otherwise MP3 is the safer target.
The cover art did not appear.
Keep cover art must be on, and the source MP3 must actually contain an APIC frame. The source panel shows whether artwork was found.
Track and disc numbers came out blank.
ID3 stores these as "3/12" strings and MP4 uses separate integers. Sonic Batch maps them when the format is recognisable; you can set them explicitly in the metadata controls.
Frequently asked questions
Is M4A better than MP3?
The AAC codec inside it is more efficient, and the container handles metadata better. Converting an existing MP3 gives you the container benefits, not the codec benefits.
What is the difference between M4A, MP4 and AAC?
MP4 is the container; AAC is the codec; M4A is the conventional extension for an MP4 that holds only audio. A bare .aac file is a raw stream with no container.
Will this work with Apple Music?
It produces standard AAC in MP4, which Apple Music imports as a local file. It does not and cannot interact with DRM-protected streaming content.
Can I batch convert my whole library?
Yes. Use Apply to all for the shared settings and per-file bitrate overrides for the outliers. Sequential download mode is best for very large libraries.