FLACCID
All posts
Formats July 27, 2026 · 6 min read

Opus, AAC, or MP3: Choosing a Lossy Format for Your Phone

Opus, AAC and MP3 compared honestly: which sounds best per kilobyte, which plays everywhere, and how to transcode from FLAC without wasting bits or quality.

Keeping your collection in FLAC is the easy decision. The harder one comes when you want that collection on a phone with 128 GB and a photo library that already wants most of it. At some point you make lossy copies for the road, and you have to pick a codec. Three sensible candidates exist: MP3, AAC, and Opus. They are not equal, but the "best" one depends on a question you should answer first: where does this file have to play?

The one rule that matters more than the codec

Before comparing anything: always encode from the lossless original. Never make an AAC from an MP3, or an Opus from an AAC. Every lossy encoder throws away a different set of details, and stacking two of them produces artifacts neither would have caused alone. It's the audio version of photocopying a photocopy.

This is the practical reason to keep FLAC masters at all: they let you make a fresh, first-generation lossy copy in whatever format next year's device wants. If your only copy is lossy, you're stuck with it. Lossy is a one-way door.

MP3: old, universal, and not as bad as its reputation

MP3 dates to the early 1990s and shows its age in efficiency: it needs more bits than the others to reach the same quality. But two things keep it relevant. Every device made in the last twenty-five years plays it, and the LAME encoder squeezed far more out of the format than its designers imagined.

If you choose MP3, use LAME with variable bitrate. The preset V0 (averaging around 245 kbps) is transparent for almost everyone on almost everything, and V2 (around 190 kbps) is very close on far fewer bytes. Constant 320 kbps works but spends bits on silence and simple passages that VBR would save.

MP3's weak spots are the high end (cymbals can take on a slight swirl at lower bitrates), pre-echo on sharp transients, and the fact that gapless playback depends on the encoder writing a special header and the player honouring it. Gapless MP3 is a handshake, not a guarantee.

AAC: MP3's better-engineered successor

AAC was designed a few years later to fix MP3's structural limits, and it does. At equal bitrates it sounds cleaner, particularly below 160 kbps, and it degrades more gracefully. It's the native format of Apple's ecosystem, YouTube, and most streaming services, so support is nearly as broad as MP3 on anything made this century.

The catch is that "AAC" is a standard, not an encoder, and encoders differ a lot. Apple's encoder (in iTunes, the Music app, and available on the command line as afconvert on a Mac) is excellent. Fraunhofer's libfdk_aac is very good. The default encoder built into ffmpeg is adequate but noticeably behind those two at lower rates. If you can't use a good encoder, give AAC a few more kilobits.

For a transparent library copy, 256 kbps VBR from a good encoder is the sweet spot. Gapless works reliably in Apple's world through the iTunSMPB tag, and most modern players outside it respect that tag too.

Opus: the best sound per byte, with one asterisk

Opus is the newest of the three (standardised in 2012, royalty-free, from the same foundation that maintains FLAC) and technically the best by a clear margin. At 96 to 128 kbps it delivers what MP3 needs 190 to 245 to match. Its designers also fixed gapless playback at the specification level: the format records exactly how much to trim, so any conforming decoder plays albums seamlessly with no special headers or luck involved.

One quirk: Opus always runs at 48 kHz internally, so a 44.1 kHz CD rip gets resampled on the way in. Resampling is done well and the difference is inaudible, but if you like your files to say "44100", Opus will not oblige.

The asterisk is playback. Android, every browser, VLC, foobar2000 and most modern players handle Opus. Apple's Music app and a lot of older car head units and hardware players do not. Check the device you actually own before committing a whole library to it.

If you're listening on Android or through a browser, Opus is the obvious choice. If your phone runs Apple's Music app, AAC is. MP3 is what you pick when something old and stubborn has to play it too.

Bitrates in one table

Rough transparency targets for a music library, encoding from lossless with a good encoder:

Codec Recommended Quality per bit Plays everywhere?
MP3 (LAME) V0, about 245 kbps VBR Lowest Yes, without exception
AAC (Apple or FDK) 256 kbps VBR Middle Nearly everywhere
Opus 128 kbps VBR Highest Modern devices and browsers

Notice how close the results are. Pick sensible bitrates and all three are transparent for the vast majority of listeners on the vast majority of music. The differences show up in the bytes, not in your ears.

What the bytes look like

Take a 10,000-track library, averaging four minutes a track:

  • FLAC: roughly 27 MB per track at typical compression, about 270 GB total.
  • MP3 V0: around 7 MB per track, about 70 GB.
  • AAC 256: around 7.5 MB per track, about 75 GB.
  • Opus 128: under 4 MB per track, about 38 GB.

That last number is why Opus is worth the compatibility check. The same library fits on a phone with half the space, at quality nobody would pick out of a blind test.

Doing the conversion

Use a tool that batches, keeps tags, and copies cover art. On the command line, ffmpeg handles all three formats; on desktops, foobar2000 (Windows), XLD (Mac), and fre:ac (all platforms) do it with a graphical interface. Two settings to get right:

  1. VBR, always. Constant bitrate wastes space on easy passages and starves the hard ones. Every modern encoder is better in VBR mode.
  2. Keep the folder structure. Mirror your FLAC library one-to-one so the lossy copy stays as organised as the master. Sync tools then only re-encode what has changed.

And keep the FLACs. The lossy copies are disposable, regenerated from the master whenever you want. The lossless library is the thing you actually own.

Curious whether you can tell your Opus from your FLAC? Open the player, drop in both versions of the same track, and switch between them with the volume matched. It's an honest test, and the answer might save you a lot of storage.

try it yourself

Play your own lossless files, free

FLACCID plays your local FLAC, ALAC, WAV and more right in the browser: no upload, no account, no streaming.

Launch the Player