Lossless in, lossy out: what FLAC actually promises
FLAC, the Free Lossless Audio Codec, appeared in 2001 and became a Xiph project two years later. Its promise is unusually precise for an audio format: decode a FLAC file and you get back, sample for sample, the exact numbers that went in. It achieves that with linear prediction, which models where the waveform is heading and stores only the error, followed by an entropy coder that packs those small errors efficiently. No perceptual judgement is involved anywhere.
The format takes that guarantee seriously enough to write an MD5 checksum of the raw audio into the fileβs opening metadata block, so a decoder can prove afterwards that what it produced matches what was encoded. Nothing in MP3 has any equivalent, because MP3 was never trying to make that promise.
The cost is bytes. FLAC typically lands somewhere around half to two thirds of the uncompressed size, which is a real saving over a WAV but nowhere near what a lossy codec manages. A ripped album runs to a few hundred megabytes and a hi-res download to more, and that is exactly when a phone with a full storage bar becomes the reason you are reading this page.
Converting to MP3 is therefore where that guarantee ends. What comes out is a perceptual approximation of the samples the FLAC was holding, and no later step brings them back.
The 320 kbps default and the reasoning behind it
Because of that, the MP3 bitrate selector opens on 320 kbps (highest quality) rather than on the middle rung, as AIFF to MP3 also does and for the same reason. The reasoning sits in the source: the encoder has real detail in front of it, so give it the largest bit budget MP3 defines and let its psychoacoustic model spend it.
At 320 kbps, on ordinary headphones and speakers, the difference from the FLAC is not something most listeners can identify in a controlled comparison. The material that exposes it is dense and transient-heavy: massed cymbals, applause, harpsichord, anything where a lot of unrelated high-frequency energy arrives at once and the encoder has to choose what to keep.
Taking 256 or 192 kbps instead
256 kbps (great quality, smaller) is the rung to take when the destination has a storage budget and the material is normal music. It sits close enough to 320 that switching between the two is a listening-test exercise rather than an obvious step down, and it trims the files usefully across a whole library.
192 kbps (smallest file) is for spoken material and for casual listening: audiobooks, lectures, live bootlegs, a playlist for a gym session. It is the rung where you should stop pretending the conversion is transparent and start being glad it fits. If you want the reasoning behind picking a number for speech rather than music, choosing a bitrate for voice versus music goes through it properly.
Whichever you pick, the value maps to a single -b:a argument passed to libmp3lame. There is no hidden processing, no normalisation and no filtering in between.
The METADATA_BLOCK_PICTURE and other things left behind
FLAC keeps cover art in a dedicated picture metadata block, and FFmpeg presents that block to the rest of the pipeline as a video stream. If nothing intervened, the encoder would carry it into the output and hand you an MP3 with a still image attached, which several car stereos and older players handle badly.
So the converter passes -vn before the codec arguments, dropping every non-audio stream. The MP3 you download is audio alone. Artwork, ReplayGain values, cue sheets and any embedded lyrics stay behind in the FLAC. For a library where the art matters, add it back in a tag editor after conversion rather than expecting the codec change to preserve it.
Keeping the FLAC as your archive copy
The discipline is simple: the FLAC is the archive, the MP3 is the copy you hand out. Once you have the MP3 you can make a WAV from it, cut it, load it onto a player and share it, but every one of those operations inherits the losses already baked in.
That also means you should never build a workflow that re-encodes MP3s repeatedly. If a track needs trimming, take it from the lossless source, and if it needs shortening after the fact, Cut MP3 does the job without a second encode. For occasional one-off jobs across mixed formats, Audio Converter covers the same ground from a single page, and WAV to MP3 is the equivalent for uncompressed sources.
Converting an album track by track
- Drop one
.flacfile onto the box above, or click Choose a file to browse for it. This page takes a single file at a time. - Set the MP3 bitrate. It already reads 320 kbps (highest quality), which is the right answer for music from a lossless source.
- Click Convert FLAC to MP3 and let the progress bar run. A Cancel button is available while it works.
- Download the MP3, then click Process another before dropping the next track, since the dropzone ignores new files until you do.