What Is FLAC? The Lossless Audio Format
Everything about the FLAC lossless audio format. Learn how FLAC compresses without losing quality and when to use it.
The Short Answer
FLAC stands for Free Lossless Audio Codec. It is an open, royalty-free file format that compresses PCM audio without discarding a single bit. Decode a FLAC file and the bytes that come out are identical to the bytes that went in — verifiably so, because every FLAC file carries an MD5 fingerprint of the original PCM stream. Typical files end up around 50–60% the size of the source WAV, and the format is supported natively by every major operating system shipped in the last decade.
A Brief History
FLAC was started by Josh Coalson in 2000 and reached its first stable release (version 1.0) on July 20, 2001. From the very beginning the reference encoder, decoder, and bitstream specification were all released under permissive licenses — BSD for the libraries, GPL for the command-line tools, and a public-domain-style grant for the file format itself. There are no submarine patents lurking in the FLAC specification, which is why every Linux distribution, every BSD, and most embedded platforms have been free to bundle it.
In 2003 the project moved to the Xiph.Org Foundation, the same non-profit that maintains Vorbis, Opus, Theora, and the Ogg container. Xiph.Org's involvement matters: it puts FLAC in the same family as the other open codecs and gives the format an institutional home that long outlasts any single contributor. Development has continued steadily — version 1.4, released in 2022, brought faster encoding through better predictor selection and 64-bit residual handling, and 1.5 in 2025 added Apple-friendly tooling improvements.
The contrast with proprietary alternatives is what made FLAC the de-facto archival format. Apple Lossless (ALAC) was closed until 2011. WMA Lossless was tied to Windows Media. Monkey's Audio (APE) had a non-OSI-compatible license. FLAC was the only mainstream lossless codec a hardware vendor or software developer could ship without negotiating a license, and that freedom drove adoption everywhere from car head units to high-resolution streaming services like Tidal and Qobuz.
How FLAC Compresses
FLAC works frame by frame. Each frame is a short slice of audio (typically 4,096 samples per channel for 44.1 kHz content) that can be decoded independently — this is what makes seeking inside a FLAC file fast and what makes the format robust against partial corruption.
For each frame, the encoder chooses one of four prediction strategies:
- Verbatim — store the raw samples. Used for noise-like audio where prediction does not help.
- Constant — store a single value. Used for digital silence.
- Fixed predictor — apply a small set of polynomial predictors (orders 0 through 4) that approximate the next sample from the previous few.
- Linear predictive coding (LPC) — fit a custom predictor up to order 32 to the frame's waveform.
After prediction, what is left is the residual: the difference between the predictor's guess and the real sample. For most music the residual is much smaller in magnitude than the original sample, with a distribution that clusters tightly around zero. FLAC then encodes the residual using Rice coding (a tuned form of Golomb coding), which assigns short codes to small numbers and longer codes to large ones. The Rice parameter is chosen per partition inside the frame, so a quiet section and a transient drum hit in the same frame can be coded efficiently.
This pipeline — predict, subtract, Rice-code the residual, write a small header — is why compression ratios vary so much by source. Quiet, predictable content like a solo cello or a podcast voice track can compress to 30–40% of the original size. Dense, percussive, highly stereo content like a modern rock master may only reach 65–70%. Pre-existing dithered noise floors, common on remasters of older recordings, also limit how much LPC can do. Compression levels (0 through 8) trade encoding speed for tighter Rice partitions and longer LPC searches; level 5 is the default and is within ~1% of level 8 on most material.
Bit Depth, Sample Rate, and Channels
FLAC was designed to be future-proof. The format supports:
- Bit depths from 4 to 32 bits per sample (integer). 16-bit covers CD audio, 24-bit covers studio masters and high-resolution downloads, and the 32-bit integer ceiling means FLAC can losslessly carry 32-bit fixed-point session exports.
- Sample rates up to 655,350 Hz. Real-world content tops out at 384 kHz for high-resolution releases, so FLAC has plenty of headroom.
- Channel layouts from mono to 8 channels, with defined orderings for stereo, 5.1 surround, and 7.1 surround.
For comparison with PCM sources, see lossless vs lossy: a CD-quality FLAC of a typical 4-minute pop song lands around 25 MB, the same content as 24-bit/96 kHz FLAC lands around 90 MB, and the equivalent uncompressed WAV would be ~42 MB and ~150 MB respectively.
The MD5 Fingerprint
Every FLAC file contains a 128-bit MD5 hash of the decoded PCM stream in its STREAMINFO metadata block. This is a feature competitors largely do not have, and it changes how archivists treat the format. After decoding, you can recompute the MD5 and compare it to the stored value. If they match, you have proof — not just a checksum of the compressed bytes, but a checksum of the audio itself — that the file decodes to exactly the samples that were encoded.
The reference 'flac -t' command does this verification automatically. CD-ripping tools like dBpoweramp, EAC, and XLD use it to confirm that the rip and re-encode round-trip cleanly. Long-term archivists use it to detect bit rot on old hard drives. No lossy format can offer this guarantee, and lossless competitors that omit it (early ALAC, for instance) require external checksums to achieve the same confidence.
Metadata: Vorbis Comments and Pictures
FLAC borrows its tagging system from Vorbis. Tags are stored as UTF-8 'FIELD=value' pairs in a VORBIS_COMMENT block, with no fixed schema — popular fields include ARTIST, ALBUM, TITLE, TRACKNUMBER, DATE, GENRE, ALBUMARTIST, DISCNUMBER, and REPLAYGAIN_TRACK_GAIN. Multiple values per field are allowed (useful for multi-artist releases). Cover art lives in a separate PICTURE block that supports several images per file (front cover, back cover, leaflet, etc.) along with type codes from the ID3v2 APIC specification.
The practical upshot: FLAC's metadata is extensible and Unicode-clean by default, which is why it handles international releases far better than the ID3 hacks bolted onto WAV. Tag editors like Mp3tag, Picard, and Kid3 all speak Vorbis Comments natively.
Playback Support in 2026
FLAC support is now effectively universal. Native, no-plugin support exists in:
- Windows — File Explorer thumbnails and preview since Windows 10 (1607); Windows Media Player and the modern Media Player app
- macOS — Finder previews and the Music app since macOS 10.13 High Sierra
- iOS — the Files app since iOS 11; Apple Music app supports FLAC playback from local files since iOS 13
- Android — system-level support since Android 3.1; every modern music app handles it
- Browsers — Firefox, Chrome, Edge, and Safari (since 11) all support FLAC in HTML5 'audio' tags
- Hardware — VLC, foobar2000, JRiver, Roon, Sonos, most car infotainment systems, and the vast majority of network audio players
The historical complaint that "Apple does not support FLAC" has not been true since 2017. Apple Music streams ALAC rather than FLAC for service-internal reasons, but local FLAC files play fine on iPhones, iPads, and Macs. If you need to convert anyway — for an old hardware player, for editing in a DAW that prefers WAV, or for a phone with limited storage — the FLAC to MP3 converter and FLAC to WAV converter handle it in your browser without uploads.
FLAC vs ALAC vs WAV
The three lossless formats most users actually encounter:
- WAV is uncompressed PCM in a RIFF container. Same audio quality as FLAC but ~2x the file size, with weak metadata. Use it when a tool specifically demands it (older DAWs, some broadcast workflows). See WAV vs FLAC for archiving for the long-form comparison.
- ALAC (Apple Lossless) is technically equivalent to FLAC — same lossless guarantee, same general efficiency, slightly worse compression ratios in most tests. Apple open-sourced it in 2011, but the ecosystem around it (tagging tools, hardware support, encoder maturity) is smaller. Worth using if you live entirely inside Apple's stack. Detail: FLAC vs ALAC.
- FLAC is the cross-platform default. It compresses better than ALAC on most material, has the largest tooling ecosystem, and is the format that streaming services like Tidal, Qobuz, Bandcamp, and Deezer use for their lossless tiers.
For a side-by-side on the production side: FLAC vs WAV for music production.
Practical Decisions
Ripping a CD collection? Encode at FLAC level 5 or 8, embed cover art, and verify with 'flac -t'. The level mostly affects encoding speed; decoders read every level identically.
Buying high-resolution downloads? FLAC at 24-bit/96 kHz or 24-bit/192 kHz is the format you will actually receive from HDtracks, Qobuz, and Bandcamp. Storage cost is real (around 1 GB per album at 24/96), so plan accordingly — if a single file is too big for a particular workflow you can compress a FLAC file by raising the compression level or downsampling.
Sending masters to collaborators? FLAC is fine if both ends use modern DAWs. WAV is the safer default for older Pro Tools sessions and broadcast deliverables (BWF). The WAV to FLAC converter handles the round-trip losslessly when you need to switch.
Using a FLAC converter for one-off jobs? Browser-based conversion keeps your files on your machine and avoids the upload/download cycle for short clips.
FLAC has been stable, free, and broadly supported for over two decades. For any workflow where the audio data needs to survive intact, it is the most boring correct answer — which is exactly what you want from an archival format.