Ask "what audio codec should I use?" and the honest answer is "it depends what you're doing with the file." Ask "why won't this .m4a play on my speaker?" and the honest answer is "because of the codec inside the .m4a, not the .m4a itself." Both answers are about the audio codec map - the same way video has H.264 / HEVC / AV1 / VP9, audio has MP3 / AAC / Opus / FLAC / WAV and a handful of others. Each was designed for a different problem, and each ended up in a different corner of the ecosystem.
#The one-sentence version
MP3 for sharing (universal playback). AAC for iOS and MP4-family workflows. Opus for voice and browser recording. FLAC for archival where storage is available. WAV for editing intermediates. Everything else is a specific-use codec you'll only touch if you already know why.
#The map
MP3 (MPEG-1 Audio Layer III, 1993)
- Lossy compression. Throws away high frequencies and stereo detail humans don't reliably hear.
- Universal. Every device that plays audio decodes MP3 - phones, cars, speakers, TVs, ancient MP3 players, embedded software.
- Efficient at 192 kbps and up. At 192 kbps VBR, the LAME encoder produces output most listeners can't tell from the source on consumer gear.
- Weak at very low bitrates. Below 96 kbps, artefacts get audible fast - use Opus instead if the target is speech at low bitrate.
- File extension: .mp3
AAC (Advanced Audio Coding, 1997)
- Lossy compression. MP3's successor - roughly 30% more efficient at equivalent perceived quality.
- Native audio codec of MP4. Every AAC file is inside an MP4-family container (.m4a, .mp4, .aac ADTS stream).
- Universal on modern devices. iOS, Android, browsers, smart TVs, all modern speakers. Older embedded hardware sometimes lacks AAC decode but MP3 does.
- Variants matter. AAC-LC is the standard 128-256 kbps codec; HE-AAC is a low-bitrate flavour with worse compatibility outside broadcast.
- File extensions: .m4a, .aac, .mp4 (audio-only)
Opus (2012)
- Lossy compression. The best perceptual audio codec at low bitrates that has ever shipped commercially.
- Royalty-free. Which is why every browser, WhatsApp voice notes, Discord voice channels, Google Meet, and Zoom on the web all use it.
- Fantastic for speech. At 32 kbps Opus already sounds better than 96 kbps MP3 on voice content.
- Poor compatibility outside browsers. Windows Media Player, macOS QuickTime, older iOS players, and most consumer hardware don't decode Opus. This is why WhatsApp voice notes need [conversion to MP3](/opus-to-mp3/) before sharing to non-WhatsApp playback.
- File extensions: .opus, .ogg (Opus in Ogg container), .webm (Opus in WebM)
FLAC (Free Lossless Audio Codec, 2001)
- Lossless compression. Every sample is bit-exact against the original PCM after decode - no perceptual loss ever, at any bitrate.
- Roughly 60% of the WAV file size. Compresses well because most audio has silence, repetition, and predictable waveforms.
- For archival and audiophile playback. If your source is a CD rip or a master tape digitised in-studio, FLAC is where it belongs.
- Not for streaming or portable use. The files are large; the compression advantage over MP3 at 192 kbps is negligible on typical playback gear.
- File extension: .flac
WAV (Waveform Audio File Format, 1991)
- Uncompressed PCM audio. Every sample stored at full resolution - 16-bit or 24-bit, 44.1 kHz or 48 kHz sample rate for CD/DVD/broadcast.
- Large files. A minute of 16-bit stereo 44.1 kHz WAV is 10 MB. An hour is 600 MB.
- Editing intermediates. Every audio editor works with WAV natively because no decode is needed - the samples are the samples.
- Not for delivery. No efficiency advantage over FLAC (which is lossless too, but smaller). Use WAV for editing, FLAC for archival, MP3 or AAC for playback.
- File extensions: .wav (Windows), .aiff (Apple, same PCM inside a different container)
The rest, briefly
- AC-3 / Dolby Digital: Multi-channel surround for DVD, Blu-ray, broadcast, and streaming. See [AC3 to MP3](/ac3-to-mp3/) for the extraction workflow.
- WMA (Windows Media Audio): Microsoft's AAC competitor from the Windows Media era. Decoded everywhere Windows software plays audio; refused elsewhere. See [WMA to MP3](/wma-to-mp3/).
- Vorbis: The audio codec inside older Ogg and WebM files. Similar quality to AAC, similar compatibility profile to Opus (browser-native, refused elsewhere).
- ALAC (Apple Lossless): Apple's equivalent of FLAC. Lossless, decoded on all Apple devices, uses the .m4a container. See [ALAC to MP3](/alac-to-mp3/).
- APE (Monkey's Audio): A niche lossless codec popular in enthusiast circles. Fantastic compression ratios; almost no consumer playback support. See [APE to MP3](/ape-to-mp3/).
- AMR: Speech codec used in old-style mobile voice recordings. Refused on modern devices. See [AMR to MP3](/amr-to-mp3/).
#Which one to pick
For most cases:
- Sharing anything to anyone: MP3 at 192 kbps VBR. Universal, transparent, small enough.
- Recording voice / a podcast for public download: MP3 at 128 kbps mono or 96 kbps mono for speech - Opus is more efficient but MP3 plays everywhere.
- Producing an audiobook or a music album for delivery: AAC at 192-256 kbps in .m4a container. Marginally smaller than MP3 at equivalent quality; iOS-native.
- Storing your music library at high quality: FLAC. Bit-exact against source; ~60% the size of WAV. Convert to MP3 or AAC on the fly for portable playback.
- Editing / mastering: WAV or AIFF. No decode overhead means every audio editor works natively.
- Voice call / conferencing: Opus. Best speech compression at low bitrates.
#The extension is not the codec
This is the codec-vs-container distinction from [Codecs vs containers](/blog/codecs-vs-containers/), applied to audio. The same wrapper (.mp4, .m4a, .ogg) can hold different codecs inside; the same codec (AAC) can be inside multiple wrappers. When something "won't play," diagnose the codec first (inspect the file, or open in VLC to see what it detects) - the extension isn't enough information.
Concrete examples:
- An .m4a from iTunes almost always contains AAC. An .m4a exported by Apple Music might contain ALAC (Apple Lossless). Same extension, different codecs - and non-Apple players sometimes handle one but not the other.
- An .ogg file might contain Vorbis (2002-2015 dominant) or Opus (2012-current dominant). Older players decode Vorbis but not Opus.
- A .wav file usually contains PCM, but the WAV spec also allows MP3, AC-3, and even non-PCM formats. A "WAV" that's actually MP3 inside plays in some tools and fails in others.
#Converting between them
Every conversion between different codecs is a re-encode - decode the source to PCM, then compress to the target codec. The one exception: extraction from a container where the audio codec is already what you want. Pulling AAC audio out of an MP4 (into an .aac or .m4a wrapper) is a copy, not a re-encode. Pulling MP3 audio out of an FLV where the source was MP3 is a copy. Wave takes the copy path when it can (see [Remux vs re-encode](/blog/remux-vs-reencode/) for the mechanics); it re-encodes when the codec has to change.
#Why "everything to MP3" for the sharing case
Because MP3 is the only codec that plays on literally every device that plays sound. AAC is a close second on modern devices. Opus is technically better but has playback gaps. FLAC is bigger and gives no benefit over MP3 for casual listening. WAV is huge. For an audio file you're sending to someone whose playback environment you don't control, MP3 at 192 kbps is the safe answer. That's why Wave's MP3 Converter targets MP3 as its default output regardless of source.
#The takeaway
Audio codecs solve different problems. MP3 for universal playback, AAC for MP4-family workflows, Opus for voice and browsers, FLAC for archival, WAV for editing. The other codecs (AC-3, WMA, Vorbis, ALAC, APE, AMR) are specific-use - if you have a file in one of them and want it playable everywhere, converting to MP3 is nearly always the right move.