M4A → WAV
M4A to WAV converter
The AAC audio inside the M4A is decoded to uncompressed PCM and written as a WAV. The file grows about 8–10×, and the audio is exactly what the AAC already contained.
…or drag files and folders here. Add as many as you like — everything is processed on this device.
.aac .caf .m4a .m4r .m4v .mov .mp4 .qt
In one paragraph
M4A is where audio ends up if you use an iPhone, a Mac or Apple Music: Voice Memos, GarageBand bounces, QuickTime recordings and iTunes purchases all produce it. It is also the format a lot of professional audio software is least happy to import — older Pro Tools sessions, hardware samplers, forensic analysis tools and many transcription pipelines all want WAV.
Sonic Batch decodes the MP4 atom structure and the AAC stream locally, then writes standard RIFF PCM. You choose the bit depth and sample rate, and you can force mono for single-microphone recordings so you are not carrying a duplicated channel through your whole session.
Does this change the audio quality?
Every sample the AAC decoder produces is written exactly, so nothing further is lost. But AAC is a lossy codec: the WAV sounds like the M4A, not like the original recording that was encoded to AAC.
- Expect the WAV to be 8–10× larger. A 5 MB M4A becomes roughly 45 MB.
- iTunes Store purchases with FairPlay DRM cannot be decoded by any local tool and are reported as unsupported.
- AAC decoders add a small priming delay; the WAV may be a few milliseconds longer than the M4A.
A worked example
Getting a GarageBand bounce into a Windows DAW
- Drop the .m4a bounce into the queue. The source panel shows sample rate, channels and detected bitrate.
- Set Bit depth to 24 if the file is going into a mixing session — it gives processing headroom.
- Keep the sample rate on “Same as source” so the timeline lines up with the original project.
- Convert and download the WAV, then import it into the session.
16-bit for playback, 24-bit for editing
A decoded AAC file fits inside 16-bit with room to spare, so 16-bit is right for anything you are simply going to play or transcribe. Choose 24-bit when the WAV is going into a DAW and will have gain, EQ or compression applied — the extra headroom means processing never runs into the noise floor. 32-bit float only if your DAW works in float end-to-end.
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 |
|---|---|---|---|---|---|
| M4A | Apple’s default AAC container. Better quality than MP3 at the same bitrate. | Native | Native | Native | Native |
| AAC | Bare AAC frames with no MP4 wrapper — used by broadcast streams and some hardware. | Native | Partial | Native | Native |
| MP4 | The standard video container. Its audio track is almost always AAC. | Native | Partial | Native | Native |
| M4R | An M4A file with a .m4r extension. iOS only lists it as a ringtone if it is ≤ 40 seconds. | Partial | Partial | Native | Native |
| MOV | QuickTime video from iPhone and DSLR cameras. Audio is normally AAC or PCM. | Partial | Engine | Native | Native |
| CAF | Apple container used by older iOS Voice Memos. Usually holds ALAC, IMA4 or raw PCM. | Engine | Engine | Partial | Partial |
| Output | Encoder | Bitrates / depth | Sample rates | Tags |
|---|---|---|---|---|
| WAV | pcm_s16le | 16, 24, 32-bit | 8–96 kHz | Yes |
- 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 file is rejected as DRM protected.
FairPlay-encrypted purchases cannot be decoded outside Apple’s ecosystem. Only unprotected M4A files — recordings, bounces, and files you encoded yourself — will convert.
Firefox will not preview my M4A.
Firefox’s MP4 support depends on system codecs. The engine decodes the file independently, so conversion works even when preview does not.
The WAV is far too large to email.
That is uncompressed audio: roughly 10 MB per stereo minute at 44.1 kHz/16-bit. If lossless size matters, FLAC halves it with no quality change.
Frequently asked questions
Does M4A to WAV improve the audio quality?
No. Decoding to PCM stores the same audio without further loss; it cannot restore what AAC discarded.
Why does my software refuse M4A but accept WAV?
PCM in a RIFF container is the simplest possible audio file — no patents, no decoder needed. AAC support requires licensing and a decoder, which a lot of professional and legacy software never added.
Can I convert a whole folder of voice memos?
Yes. Add them all, use Apply to all to set mono 16-bit, and download either as individual files or a ZIP with a manifest.
Is the audio uploaded to convert it?
No. The AAC decoder runs in your browser as WebAssembly served from this domain. There is no upload endpoint in the application.