FLAC to MP3: Making the Most of a One-Way Trip
FLAC (Free Lossless Audio Codec) preserves every bit of the original audio — it is a perfect, bit-for-bit copy of the source CD or studio master, compressed to about 50-60% of the original size. MP3 is a lossy format that discards audio information deemed inaudible by a psychoacoustic model. This conversion is irreversible: once you encode to MP3, the discarded data is gone forever.
That said, converting FLAC to MP3 is one of the most common audio tasks. FLAC files are large (25-40 MB per song at CD quality), and not every device or platform supports FLAC playback. Older car stereos, some Bluetooth speakers, and certain online platforms still prefer or require MP3. When done correctly, a high-bitrate MP3 from a FLAC source is audibly transparent to the vast majority of listeners.
The key to a good FLAC-to-MP3 conversion is using the LAME encoder (the best MP3 encoder ever built) with appropriate quality settings. This guide covers the optimal settings for different use cases.
Step-by-Step: Convert FLAC to MP3
High Quality CBR (Constant Bit Rate)
ffmpeg -i input.flac -c:a libmp3lame -b:a 320k output.mp3
320 kbps CBR is the maximum standard MP3 bitrate. It produces files around 9-10 MB per 4-minute song.
Recommended: VBR V0 (Best Quality-to-Size)
ffmpeg -i input.flac -c:a libmp3lame -q:a 0 output.mp3
VBR V0 is the audiophile recommendation for MP3 encoding. It dynamically adjusts the bitrate based on audio complexity, averaging around 245 kbps. Complex passages get more bits, simple passages get fewer. The result is slightly smaller than 320 CBR with equivalent (some argue better) quality.
LAME Quality Settings Reference
| Setting | Average Bitrate | Quality | Recommended For |
|---|---|---|---|
-b:a 320k (CBR) | 320 kbps | Transparent | Maximum compatibility |
-q:a 0 (V0) | ~245 kbps | Transparent | Best quality-to-size ratio |
-q:a 2 (V2) | ~190 kbps | Very high | General music listening |
-q:a 4 (V4) | ~165 kbps | High | Casual listening |
-q:a 5 (V5) | ~130 kbps | Good | Podcasts, voice content |
Pro Tip: V0 and 320 CBR are both "transparent" — meaning the difference from the FLAC source is inaudible in double-blind ABX tests for almost all listeners on any equipment. V0 is generally preferred because it produces smaller files without sacrificing quality.
Preserving Metadata and Album Art
FLAC files carry rich Vorbis Comment metadata (title, artist, album, track number, date, genre) and often have embedded album artwork. Preserve everything:
ffmpeg -i input.flac -c:a libmp3lame -q:a 0 \
-c:v copy -id3v2_version 3 -write_id3v1 1 output.mp3
-c:v copy— copies the embedded cover art image into the MP3-id3v2_version 3— writes ID3v2.3 tags (most compatible)-write_id3v1 1— adds legacy ID3v1 tag
Verify the metadata transferred:
ffprobe -v error -show_entries format_tags output.mp3
Batch Converting a FLAC Library
Simple Batch
mkdir -p mp3
for file in *.flac; do
[ -f "$file" ] || continue
ffmpeg -i "$file" -c:a libmp3lame -q:a 0 \
-c:v copy -id3v2_version 3 "mp3/${file%.flac}.mp3" -y
done
Recursive with Directory Structure Preservation
find /path/to/flac-library -name "*.flac" | while read file; do
relpath="${file#/path/to/flac-library/}"
outfile="/path/to/mp3-library/${relpath%.flac}.mp3"
mkdir -p "$(dirname "$outfile")"
ffmpeg -i "$file" -c:a libmp3lame -q:a 0 \
-c:v copy -id3v2_version 3 "$outfile" -y
done
Parallel Batch with GNU Parallel
For large libraries, process multiple files simultaneously:
find /path/to/flac -name "*.flac" | parallel -j4 \
'mkdir -p mp3/$(dirname {/}); ffmpeg -i {} -c:a libmp3lame -q:a 0 \
-c:v copy -id3v2_version 3 mp3/{/.}.mp3 -y'
For more on batch processing, see our batch processing guide.
Online Conversion
Use the FLAC to MP3 converter online for quick conversions without installing FFmpeg. Upload your FLAC file and download the MP3. For other audio formats, try the Audio Converter.
Quality and Settings Tips
Sample rate handling: FLAC files may be 44.1, 48, 88.2, 96, or even 192 kHz. MP3 supports up to 48 kHz. For high-resolution FLAC (96+ kHz), FFmpeg automatically resamples to 48 kHz. For CD-quality FLAC (44.1 kHz), no resampling occurs — the source rate is preserved.
ReplayGain: If your FLAC files have ReplayGain tags for volume normalization, they are not automatically applied during conversion. To apply ReplayGain during encoding:
ffmpeg -i input.flac -af "volume=replaygain=track" \
-c:a libmp3lame -q:a 0 output.mp3
Or, to preserve ReplayGain tags without applying them (for players that support MP3 ReplayGain):
ffmpeg -i input.flac -c:a libmp3lame -q:a 0 output.mp3
# Then add ReplayGain to MP3 with mp3gain or loudgain
Joint stereo vs. stereo: LAME uses joint stereo by default, which encodes the sum and difference of the stereo channels rather than encoding them independently. This is almost always better — it produces smaller files with no audible difference. Do not override it unless you have a specific reason.
Gapless playback: For live albums and classical music where tracks flow seamlessly, LAME encodes gapless information in the LAME tag header. Most modern MP3 players respect this for seamless playback. FFmpeg with libmp3lame generates these tags automatically.
For an in-depth comparison of FLAC and MP3, read our FLAC vs MP3 guide.
Common Issues and Troubleshooting
Clicks between tracks (gapless albums)
Some players do not handle MP3 gapless playback correctly. Verify that the LAME encoder info tag is present:
ffprobe -v error -show_entries format_tags:stream_tags output.mp3
If gapless is critical, consider converting to AAC (.m4a) instead — AAC handles gapless playback more reliably.
Album art not showing in player
Different players read artwork from different locations in the ID3 tag. Using -id3v2_version 3 maximizes compatibility. If artwork still does not appear, the image may be too large (some players limit to 500 KB or 600x600 pixels). Resize the cover:
ffmpeg -i input.flac -c:a libmp3lame -q:a 0 \
-vf "scale=500:500" -id3v2_version 3 output.mp3
Output sounds different from FLAC
At V0 or 320 kbps, differences should be inaudible. If you hear a clear difference, verify you are comparing at the same volume level. FLAC and MP3 players may apply different volume normalization. Use -af "volume=0dB" to ensure no gain adjustment.
Conversion fails on 24-bit/192 kHz FLAC
Some very high-resolution FLAC files from HDtracks or similar sources may cause issues. Explicitly resample:
ffmpeg -i input_192k.flac -ar 44100 -sample_fmt s16 \
-c:a libmp3lame -q:a 0 output.mp3
Conclusion
Converting FLAC to MP3 is irreversible, so keep your FLAC originals as the archival master. For the MP3 copies, use LAME VBR V0 (-q:a 0) for the best quality-to-size ratio, or 320 kbps CBR for maximum compatibility. Always preserve metadata and album art with the appropriate flags. The resulting MP3 files are audibly transparent from a FLAC source — the difference exists only on paper and in the spectrogram, not in the listening experience.
Ready to convert? Try our free FLAC to MP3 converter — no registration required.



