FLAC solves a specific problem: WAV files are too big for storage and distribution, but MP3 permanently destroys audio data. FLAC splits the difference — lossless compression that typically cuts file size by 50-70% while guaranteeing bit-perfect reconstruction of the original audio.

The math works out well. A CD album that takes ~635 MB as WAV compresses to ~320 MB as FLAC. A 2 TB hard drive holds roughly 3,100 CD albums in FLAC versus 1,700 in WAV — nearly double the library with zero quality compromise. Every streaming service that offers "lossless" or "hi-res" audio delivers FLAC (or its Apple counterpart, ALAC).

FLAC was released in 2001 by Josh Coalson and is maintained by the Xiph.Org Foundation (the same people behind Vorbis and Opus). It's open-source, patent-free, and supported by virtually every audio player and operating system except Apple's native apps — which use ALAC but can play FLAC through third-party apps.

How FLAC Compression Works

FLAC compression happens in two stages, and understanding them explains why compression ratios vary by content.

Stage 1: Linear Prediction

Audio waveforms aren't random — each sample is strongly correlated with the samples around it. A sustained guitar note at 440 Hz produces a predictable pattern. FLAC's encoder uses linear prediction to model this: for each sample, it predicts the value based on the preceding samples, then stores only the difference (residual) between the prediction and the actual value.

For smooth, predictable audio (sustained tones, simple waveforms), the residuals are tiny — close to zero. For complex, chaotic audio (cymbal crashes, distorted guitars, white noise), the residuals are larger. This is why FLAC compresses a classical piano recording to ~45% of WAV size but only compresses white noise to ~95%. The more predictable the audio, the better FLAC compresses it.

Stage 2: Rice Coding

The residuals from stage 1 are then entropy-coded using Rice codes (a variant of Golomb coding). Rice coding is efficient for data that clusters around zero — which is exactly what prediction residuals do. Small residuals get short codes; large residuals get long codes. The result is a variable-length bitstream that's significantly smaller than storing fixed-width samples.

This two-stage approach (predict, then entropy-code the residuals) is what makes FLAC lossless. The decoder reverses both stages exactly: decode the Rice codes to get the residuals, then add the residuals to the predictions to reconstruct the original samples. No rounding, no approximation, no loss.

Compression Levels 0-8: Diminishing Returns After 5

FLAC offers compression levels from 0 (fastest encoding, least compression) to 8 (slowest encoding, most compression). All levels produce identical audio quality — the difference is purely encoding speed vs file size.

LevelTypical Size (% of WAV)Encode SpeedDecode Speed
055-58%~40x realtimeSame for all levels
154-57%~35x realtimeSame
253-56%~30x realtimeSame
352-55%~25x realtimeSame
451-54%~20x realtimeSame
5 (default)50-53%~15x realtimeSame
649-52%~10x realtimeSame
749-52%~6x realtimeSame
848-51%~3x realtimeSame

The key insight: decoding speed is identical regardless of compression level. The encoder does more work at higher levels to find better predictions, but the decoder always does the same amount of work. Playback performance is never affected by compression level.

Going from level 5 to level 8 saves maybe 2-3% more space while taking 5x longer to encode. For a 500-track library, that might save 1-2 GB at the cost of hours of extra encoding time. Not worth it. Stick with the default level 5 unless you have a specific reason to deviate.

Metadata, Album Art, and ReplayGain

FLAC uses Vorbis comments for metadata — the same system used by OGG and Opus files. Unlike MP3's ID3 tags (which bolt metadata onto a format that wasn't designed for it), Vorbis comments are native to FLAC and support arbitrary key-value pairs.

Standard fields include: TITLE, ARTIST, ALBUM, TRACKNUMBER, DATE, GENRE, ALBUMARTIST, DISCNUMBER, COMPOSER, LYRICS. You can add custom fields too — RIPPING_SOFTWARE, SOURCE, CATALOG_NUMBER, whatever your library needs.

Album Art Embedding

FLAC supports embedded album art in the PICTURE metadata block. You can embed multiple images: front cover, back cover, CD art, artist photo. Most players display the front cover. The image is stored as a binary blob within the FLAC file — typically JPEG or PNG. A 500x500 JPEG cover adds ~50-100 KB to each file.

Best practice: embed album art at 500x500 or 600x600 pixels, JPEG format. Larger images (1200x1200+) bloat every track file unnecessarily. If you need high-res art, keep it as a separate folder.jpg alongside the FLAC files.

ReplayGain

ReplayGain is a standard for volume normalization that FLAC (and other formats) support natively. It analyzes perceived loudness and stores a gain adjustment value in the metadata — without modifying the audio data.

Two modes: Track gain normalizes each track to a target loudness (~-18 LUFS or 89 dB SPL). Album gain normalizes at the album level, preserving the intended volume differences between tracks (quiet interludes stay quiet relative to loud tracks).

Players that support ReplayGain apply the adjustment during playback. The actual audio data remains untouched — you can always play without ReplayGain to hear the original mastering levels. MusicBrainz Picard, foobar2000, and most Linux players support scanning and writing ReplayGain tags.

FLAC Streaming: Tidal, Amazon, Apple, and Beyond

Every major streaming service now offers lossless audio, and FLAC is the dominant delivery format:

  • Tidal HiFi: CD-quality FLAC (44.1 kHz/16-bit, 1,411 kbps) and Tidal Max (up to 192 kHz/24-bit FLAC and MQA)
  • Amazon Music HD: CD-quality FLAC standard, Ultra HD up to 192 kHz/24-bit FLAC
  • Apple Music: Uses ALAC (Apple Lossless Audio Codec) instead of FLAC, but at identical quality. CD quality up to 24-bit/192 kHz.
  • Deezer HiFi: CD-quality FLAC at 1,411 kbps
  • Qobuz: FLAC up to 192 kHz/24-bit, the audiophile-focused service

Spotify remains a holdout — as of early 2026, it still streams only lossy audio (OGG Vorbis up to 320 kbps), though lossless has been periodically teased. If you're specifically chasing lossless streaming, Spotify isn't there yet.

For local FLAC playback, support is near-universal: Windows (built-in since Windows 10), Android (native), Linux (native), macOS (third-party apps like VLC, Swinsian, or Doppler), iOS (third-party apps). The only gap is Apple's native Music app and iTunes, which require ALAC — a FLAC to M4A/ALAC conversion solves this.

FLAC vs ALAC vs WAV: Quick Comparison

FeatureFLACALACWAV
Compression50-70% of WAV50-70% of WAVNone
QualityLossless (bit-perfect)Lossless (bit-perfect)Uncompressed (original)
MetadataExcellent (Vorbis comments)Excellent (iTunes metadata)Very limited
Album artYes (PICTURE block)Yes (MP4 atoms)No (without BWF)
Max resolution32-bit / 655 kHz32-bit / 384 kHz32-bit / unlimited (practically)
Open sourceYes (BSD license)Yes (Apache license, since 2011)N/A (spec is public)
Apple nativeNo (third-party apps)YesYes
Android nativeYesLimitedYes
Windows nativeYes (since Win 10)Via iTunesYes

FLAC and ALAC produce virtually identical file sizes with identical audio quality. The choice between them is purely ecosystem: Apple users who want native support should use ALAC; everyone else should use FLAC (wider tool support, larger community, more player compatibility).

Common FLAC Mistakes to Avoid

  • Converting MP3 to FLAC doesn't improve quality. FLAC faithfully preserves whatever you feed it — including all the artifacts and missing frequencies from the MP3 encode. You get a lossless copy of lossy audio in a file that's 3-4x larger. Only encode to FLAC from an uncompressed source (CD rip, WAV master, recording).
  • Using compression level 8 for everything. The extra 2-3% space savings isn't worth 5x longer encoding. Level 5 (default) is the rational choice.
  • Transcoding between lossless formats repeatedly. FLAC → WAV → FLAC → ALAC is safe (lossless at every step), but each conversion wastes time. Convert once to your target format.
  • Ignoring metadata. FLAC supports rich metadata. Take the time to tag your files properly — artist, album, year, track number, album art. Your future self organizing a 10,000-track library will thank you.

Converting FLAC Files

FLAC is the ideal archival format. Converting from FLAC to WAV is lossless — the output is identical to the original WAV. Converting from FLAC to MP3, AAC, or OGG is lossy but starts from the best possible source (full-quality audio).

Common conversions: FLAC to MP3 | FLAC to WAV | FLAC to AAC | FLAC to M4A | FLAC to OGG | FLAC to Opus | WAV to FLAC | MP3 to FLAC (doesn't improve quality)

FLAC is the right format for anyone who cares about audio quality and owns their music. It's lossless, open-source, well-supported, half the size of WAV, and handles metadata properly. For your daily listening library, FLAC from CD rips or lossless downloads. For sharing with others, convert to MP3 or AAC from the FLAC master. For production work, convert to WAV when your DAW needs it.

Convert FLAC to MP3, WAV to FLAC, or FLAC to M4A — free, instant, no signup.