Chip in

FLAC vs MP3

FLAC is lossless — bit-for-bit the original recording, at roughly half the size of WAV. MP3 is a third of FLAC again but discards detail permanently. Archive in FLAC, listen in whatever is convenient.

Last updated

Choose FLAC when

  • Keeping a music library you may re-encode later.
  • Ripping CDs, where you want the disc back exactly.
  • Anything you would be annoyed to have to re-record.

Choose MP3 when

  • Phones, cars and players with limited storage or support.
  • Sending audio to somebody, where size matters more than the last few percent.

What FLAC actually is

FLAC compresses audio without discarding a single sample: decoding it returns exactly the bits that went in, typically at half to two-thirds the size of the equivalent WAV. It is the standard for music archives, high resolution downloads and CD ripping.

Converting an MP3 to FLAC produces a large file that sounds exactly like the MP3. Lossless compression preserves what it is given, including the damage.

What MP3 actually is

MP3 discards the parts of a sound that psychoacoustic models say you are least likely to hear, then compresses the rest. It was the format that made digital music portable, and while newer codecs beat it at every bitrate, nothing matches its compatibility.

Converting an MP3 to another lossy format compounds the damage, because the second encoder is guessing at audio the first one already threw away.

FLAC and MP3 side by side

FLAC compared with MP3
 FLACMP3
Extension.flac.mp3
Media typeaudio/flacaudio/mpeg
CompressionLosslessLossless
TransparencyNoNo
AnimationNoNo
Quality settingNot applicableNot applicable
We can write itYesYes

Questions

Can I hear the difference between FLAC and MP3?

On ordinary equipment at 320 kbps, almost certainly not. The reason to keep FLAC is not listening, it is that you can re-encode from it forever without compounding the loss.

Does FLAC to MP3 lose quality?

Yes, once — that is what MP3 does. Going from FLAC is the best possible starting point, because nothing has been discarded before the encoder sees it.