How to Convert FLAC to MP3 (Keep the Quality You Can Actually Hear)
FLAC files are lossless, huge, and incompatible with half your devices. MP3 at the right bitrate sounds identical to most listeners. Here is how to convert your library without losing the quality that matters.
What FLAC actually is
FLAC stands for Free Lossless Audio Codec. It compresses audio without discarding any data. Every sample, every bit of the original recording is preserved. When you decompress a FLAC file, you get back the exact same PCM data that went in. This is fundamentally different from lossy formats like MP3, AAC, or OGG Vorbis, which permanently discard audio information deemed "inaudible" by psychoacoustic models.
A typical CD-quality FLAC file (16-bit, 44.1 kHz stereo) is about 60% the size of the equivalent WAV file. That is still large. A four-minute song runs about 25 to 35 MB in FLAC, compared to 8 to 10 MB in high-quality MP3. For a 500-album library, FLAC easily consumes 200+ GB of storage. For full technical details, see the official FLAC specification at xiph.org.
FLAC was designed by the Xiph.Org Foundation, the same group behind Ogg Vorbis and Opus. It is open source, patent-free, and widely supported on desktop and mobile. Android has native FLAC support. iOS added it in iOS 11. Most modern car stereos and Bluetooth receivers handle FLAC. The format has become the standard for archiving and distributing high-quality music.
Why convert FLAC to MP3
If FLAC preserves everything, why would you want MP3? Several practical reasons.
Device compatibility. Some older MP3 players, car stereos, and embedded systems only support MP3. Cheap Bluetooth speakers may struggle with FLAC decoding. If you have a device that refuses to play FLAC, MP3 is the universal fallback.
Storage space. A 500-song playlist in FLAC might take 15 GB. The same playlist in 320 kbps MP3 takes about 4 GB. On a 64 GB phone shared with apps, photos, and videos, that difference matters. If you have thousands of songs, FLAC can consume an entire portable drive.
Streaming and sharing. Sending a 35 MB FLAC file over email is impractical. Many messaging apps (WhatsApp, Telegram, Discord) handle MP3 more reliably. Some platforms re-encode uploaded audio anyway, so sending FLAC provides no benefit.
Podcast players and audiobook apps. Many podcast and audiobook applications expect MP3 files. If you have FLAC recordings of lectures, interviews, or spoken-word content, converting to MP3 makes them compatible with standard podcast workflows.
Web embedding. If you are building a website and want to embed audio, MP3 has universal browser support. FLAC support in browsers is recent and inconsistent. MP3 plays everywhere.
FLAC vs MP3: technical comparison
Understanding what each format does helps you pick the right settings when converting.
| Feature | FLAC | MP3 |
|---|---|---|
| Compression type | Lossless (no data discarded) | Lossy (psychoacoustic model removes "inaudible" data) |
| Typical file size (4-min song) | 25 to 35 MB | 7 to 10 MB (320 kbps) |
| Audio quality | Bit-perfect reproduction of source | Perceptually transparent at 320 kbps for most listeners |
| Supported bit depths | Up to 32-bit | N/A (lossy encoding, no bit depth concept) |
| Sample rates | Up to 655,350 Hz | Up to 48,000 Hz |
| Metadata support | Vorbis comments (flexible key-value pairs) | ID3v1, ID3v2, APEv2 tags |
| Album art | Embedded PICTURE blocks | Embedded ID3v2 APIC frames |
| Browser support | Chrome, Firefox, Edge (recent versions) | All browsers since the early 2000s |
| Mobile support | Android native, iOS 11+ | Universal |
| Patent status | Patent-free, open source | All patents expired (as of 2017) |
The key takeaway: FLAC is objectively better for archival purposes. MP3 is more practical for daily listening on constrained devices. For background on the MP3 format's history and technical design, Wikipedia provides a thorough overview.
The transparency threshold: when MP3 sounds identical to FLAC
Audio "transparency" means the compressed version is indistinguishable from the original in a controlled listening test. Decades of blind ABX testing by the audiophile community have established clear thresholds.
320 kbps CBR (constant bitrate): Transparent for the vast majority of listeners on any equipment. This is the safest choice if you want "FLAC quality in MP3 size." Even trained listeners with high-end headphones struggle to tell the difference. The file size is about 2.5 MB per minute.
V0 VBR (variable bitrate, ~245 kbps average): The LAME encoder's V0 preset is considered transparent by the Hydrogenaudio community. It uses variable bitrate to allocate more bits to complex passages and fewer to simple ones. Files are slightly smaller than 320 CBR with equivalent quality. The average bitrate lands around 220 to 260 kbps depending on the source material.
V2 VBR (~190 kbps average): Transparent for most listeners on typical equipment (earbuds, car speakers, laptop speakers). Some listeners report subtle differences on complex classical recordings with high-end headphones. For spoken word, podcasts, and most pop/rock music, V2 is indistinguishable from lossless.
128 kbps: Audible artifacts on many types of music. Cymbals sound "swishy." Reverb tails get grainy. Not recommended if you care about quality.
The Hydrogenaudio transparency tests and wiki document years of controlled listening experiments. If you are unsure, use 320 kbps CBR or V0 VBR. Both are effectively transparent.
Choosing the right bitrate
ConvX uses a quality scale from 0 to 100. Here is how that maps to MP3 encoding settings and when to use each level.
| ConvX quality | Approximate MP3 bitrate | File size per minute | Best for |
|---|---|---|---|
| 95 to 100 | 320 kbps CBR | ~2.5 MB | Archival MP3 copies, critical listening |
| 85 to 94 | V0 VBR (~245 kbps) | ~1.9 MB | Music libraries, high-quality portable copies |
| 70 to 84 | V2 VBR (~190 kbps) | ~1.5 MB | Casual listening, streaming, phone storage |
| 50 to 69 | ~128 kbps | ~1.0 MB | Spoken word, podcasts, voice memos |
| Below 50 | ~96 kbps or lower | ~0.7 MB | Low-bandwidth streaming, previews |
For most people converting a music library, quality 90 is the sweet spot. It produces V0-equivalent output that is transparent on any equipment while saving about 70% of the storage compared to FLAC.
Converting a single file
convx convert song.flac --to mp3 -q 90This converts one FLAC file to MP3 at quality 90 (V0 VBR equivalent). The output file is written to the same directory as the source. ConvX preserves metadata tags (artist, album, title, track number, year) and embedded album art during conversion. See all available flags in the CLI reference.
Batch converting a music library
convx convert album/ --to mp3 -q 90 -j 4This converts every FLAC file in the album/ directory to MP3, running 4 parallel encoding jobs. On a modern 8-core CPU, processing 4 files simultaneously cuts total conversion time by roughly 75%. For large libraries, increase parallelism to match your core count:
convx convert "music-library/" --to mp3 -q 90 -j 8 -d ./mp3-libraryThe -d flag sends all output to a separate directory, keeping your original FLAC files untouched. ConvX mirrors the folder structure, so music-library/Artist/Album/track.flac becomes mp3-library/Artist/Album/track.mp3.
A 500-album library (roughly 5,000 songs) takes about 15 to 25 minutes on an Apple M2 or Intel i7-13700 with 8 parallel jobs. FLAC decoding is fast; the bottleneck is the LAME MP3 encoder.
Preserving metadata and tags
Music files carry metadata: artist name, album title, track number, genre, year, album art, lyrics, and more. FLAC stores this as Vorbis comments. MP3 uses ID3 tags. These are different tag formats, but ConvX maps between them automatically.
Here is what transfers during FLAC to MP3 conversion:
- Standard tags: Artist, album, title, track number, disc number, year, genre, composer, album artist. All transfer cleanly.
- Album art: Embedded cover images are re-embedded in the MP3 file as ID3v2 APIC frames. The image data is not re-compressed; it is copied as-is.
- ReplayGain: FLAC files often have ReplayGain values for volume normalization. These are transferred as ID3v2 TXXX frames. Most music players recognize them.
- Lyrics: Embedded lyrics (LYRICS tag in FLAC) transfer to the USLT frame in ID3v2.
- Custom tags: Non-standard Vorbis comments are mapped to ID3v2 TXXX (user-defined text) frames where possible. Some obscure tags may not have an ID3 equivalent and will be dropped.
If metadata is critical to your workflow (large curated libraries, DJ collections), verify a few converted files in your music player to confirm everything transferred correctly.
What about gapless playback?
FLAC supports gapless playback natively. Albums that flow continuously (live recordings, classical symphonies, concept albums like Pink Floyd's "The Wall") play without silence between tracks.
MP3 has a historical problem with gapless playback. The MP3 format adds padding frames at the start and end of each file. Without special handling, players insert brief silence between tracks. The LAME encoder writes gapless playback information into the MP3 headers, and modern players (foobar2000, iTunes, VLC, most smartphone music apps) read this information to trim the padding.
ConvX uses the LAME encoder and writes proper gapless metadata. If your player supports it, gapless albums will play correctly after conversion. The only scenario where this breaks is with very old MP3 players (pre-2010 firmware) that ignore LAME's gapless headers.
High-resolution FLAC files (24-bit, 96 kHz+)
Some music services sell "hi-res" FLAC files at 24-bit/96 kHz or 24-bit/192 kHz. These files are significantly larger than CD-quality FLAC (often 80 to 150 MB per song). When converting to MP3, the audio is downsampled to 48 kHz (MP3's maximum sample rate) and bit depth becomes irrelevant since MP3 is a lossy format.
This is not a problem. Controlled tests consistently show that 16-bit/44.1 kHz is sufficient to capture the full range of human hearing. The extra resolution in hi-res files is inaudible under blind test conditions. Converting 24-bit/192 kHz FLAC to 320 kbps MP3 loses nothing that a human ear can detect.
ConvX handles the downsampling automatically. No extra flags needed.
Using the desktop app
Drag your FLAC files (or an entire folder) into the ConvX window. Select MP3 as the output format. Adjust the quality slider. Click convert. The app shows real-time progress for each file and preserves your directory structure when processing folders.
For large batch jobs, the desktop app and the CLI produce identical output. The CLI is faster to invoke if you are already in a terminal. The desktop app is better for one-off conversions where you want to preview settings.
Using ConvX with AI agents via MCP
If you use an AI coding assistant that supports the Model Context Protocol, ConvX exposes its conversion capabilities as MCP tools. An AI agent can convert your FLAC library to MP3 as part of a larger workflow, such as preparing files for upload to a streaming service or generating podcast feeds. See the MCP server documentation for setup instructions.
FLAC to MP3 vs FLAC to AAC vs FLAC to Opus
MP3 is not the only lossy option. Here is how it compares to modern alternatives.
| Format | Transparency threshold | Device support | Best for |
|---|---|---|---|
| MP3 (LAME V0) | ~245 kbps | Universal (every device ever made) | Maximum compatibility |
| AAC (Apple/FDK) | ~180 kbps | Apple devices, most Android, all browsers | Apple ecosystem, web audio |
| Opus | ~128 kbps | Android, browsers, Discord, limited hardware player support | Streaming, VoIP, web applications |
| OGG Vorbis | ~192 kbps | Android, Linux, some portable players | Open-source ecosystems |
Opus is technically superior to MP3 at every bitrate. It achieves transparency at roughly half the bitrate. But hardware support is limited. Many car stereos, portable players, and older devices cannot play Opus. MP3 remains the safest choice when you do not control the playback device.
Common pitfalls when converting FLAC to MP3
Double compression. If your FLAC file was originally ripped from an MP3 source (yes, people do this), converting it back to MP3 compresses it a second time. Each lossy compression cycle degrades quality. There is no way to recover the data lost in the first MP3 encoding. If you suspect your FLAC files originated from lossy sources, check the spectrogram: a FLAC file from a true lossless source has energy above 16 kHz. An "upconverted" MP3 shows a hard cutoff at 16 to 20 kHz.
Choosing too low a bitrate. Going below 192 kbps for music introduces audible artifacts. The savings in file size are minimal compared to the quality hit. Unless storage is extremely constrained, stay at quality 85+ (V0 or higher).
Ignoring ReplayGain. If your FLAC library has ReplayGain tags for consistent volume across albums, make sure your MP3 player respects the transferred tags. Some players ignore ID3v2 TXXX ReplayGain frames and require a separate ReplayGain scan of the MP3 files.
Losing folder structure. When batch converting without the -d flag, output files land next to the source files. This can clutter your FLAC library with MP3 files. Always use -d to output to a separate directory tree.
Troubleshooting
Conversion fails with "unsupported sample rate"
Some hi-res FLAC files use unusual sample rates (88.2 kHz, 176.4 kHz, or 352.8 kHz). The LAME MP3 encoder supports sample rates up to 48 kHz. ConvX automatically resamples to 48 kHz before encoding. If you see this error, update ConvX to the latest version, as older versions may not handle automatic resampling for all rates.
Album art missing in converted files
FLAC stores album art as PICTURE metadata blocks. During conversion, ConvX extracts the image and re-embeds it as an ID3v2 APIC frame. If the art is missing in the output, the source FLAC file may have the art stored in an external cover.jpg or folder.jpg file rather than embedded in the FLAC. ConvX does not automatically pick up external art files. Embed the art into your FLAC files first using a tag editor like MusicBrainz Picard or Mp3tag.
Tags show garbled characters
FLAC Vorbis comments are always UTF-8. ID3v2 tags support multiple encodings (ISO-8859-1, UTF-16, UTF-8). ConvX writes ID3v2.4 tags in UTF-8 by default. If your music player shows garbled characters, the player may not support ID3v2.4 UTF-8 tags. This is rare with modern software but can happen with older car stereo firmware or cheap MP3 players that only support ID3v1 or ID3v2.3 with ISO-8859-1.
Output files are larger than expected
At quality 95 to 100 (320 kbps CBR), a four-minute song produces about a 10 MB MP3 file. If your files are larger, check whether embedded album art is unusually large. Some FLAC files embed uncompressed BMP or high-resolution PNG cover art (5 to 20 MB). This art is copied to the MP3, inflating file size. Resize your album art to 1000x1000 pixels in JPEG format (typically 100 to 300 KB) before converting.
Playback gaps between tracks in a continuous album
Ensure your music player supports LAME gapless playback headers. Foobar2000, iTunes, Apple Music, Spotify (local files), and most modern Android music apps handle this correctly. If you hear gaps, the issue is the player, not the files. Try a different player to verify.