How to Convert AAC to FLAC
AAC to FLAC is a lossy-to-lossless wrap, useful for library consistency or DAW workflow but never for quality recovery. The complication: M4A files often hold AAC (lossy) but sometimes hold ALAC (Apple Lossless), and the conversion implications differ. This page explains how to identify the inner codec, when conversion makes sense, and the practical steps.
AAC, M4A, and ALAC: Disambiguating the Sources
Three codecs commonly arrive as 'AAC' files. AAC (Advanced Audio Coding): lossy, the default codec in iTunes purchases pre-2021, Apple Music streaming downloads (now AAC at 256 kbps), and YouTube audio. ALAC (Apple Lossless Audio Codec): lossless, Apple's FLAC equivalent; common in Apple Music's 'Lossless' tier and rips made via the Apple Lossless Encoder in iTunes. Both AAC and ALAC are wrapped in the M4A container with the .m4a extension. .aac is rarer and unambiguous: that's raw AAC ADTS frames. To check which is inside an M4A: 'ffprobe input.m4a' shows 'codec_name=aac' for AAC or 'codec_name=alac' for ALAC. macOS Finder Get Info panel reports 'Kind: Apple MPEG-4 audio file (AAC)' or 'Apple MPEG-4 audio file (Lossless)'. Identify before converting.
ALAC to FLAC: Lossless to Lossless
If your M4A holds ALAC, the conversion to FLAC is lossless-to-lossless: bit-perfect, no quality change, just a different container/codec. The decoded PCM is byte-identical to the original master. FLAC has wider non-Apple support (Linux, Android, hardware audio players), making this a reasonable archive normalisation. File size will be similar — ALAC and FLAC achieve roughly the same compression ratio (40-60% of WAV), with FLAC slightly more efficient on most material. Convert via [AAC to FLAC](/convert/aac-to-flac) — the same browser tool handles ALAC inside M4A. ffmpeg path: 'ffmpeg -i input.m4a output.flac'. The decoded audio is identical regardless of which tool decodes it. See [flac-vs-alac](/blog/flac-vs-alac) for full comparison.
AAC to FLAC: Lossy to Lossless Wrap
If your M4A holds AAC (the typical case for most consumer files), conversion to FLAC produces a lossless wrapper around lossy audio. No quality is gained; no further quality is lost. The result is bit-perfect for downstream operations: editing, processing, and re-saving the FLAC will not stack additional lossy encoding generations. Useful contexts: DAW workflows that prefer FLAC over M4A, library normalisation in tools that handle FLAC better than M4A, and archives where format consistency matters more than file size. AAC at 256 kbps (Apple Music, iTunes Match) sounds essentially transparent; at 128 kbps (older iTunes Plus, podcast standard), the AAC artefacts are baked in and will be present in the FLAC. Quality is determined entirely by the original AAC encoding bitrate.
Step-by-Step Browser Conversion
Open [AAC to FLAC](/convert/aac-to-flac). Drop your .aac, .m4a, or .mp4-with-audio file. The converter automatically handles AAC, ALAC inside M4A, and standalone .aac ADTS streams. Decoding runs entirely in your browser via WebAssembly ffmpeg — your file is never uploaded. Output defaults: 16-bit / source sample rate / source channel count, in a standard FLAC container. Click Download. Conversion is fast (5-15 seconds for typical files). Pro tier handles up to 500 MB; free tier is a 10-second preview. Verify the output plays in VLC, foobar2000, or any FLAC-capable player. macOS Music app since macOS 12 Monterey supports FLAC import natively.
Bit Depth and Sample Rate
Default to 16-bit / source rate for AAC sources. AAC's perceptual model has effective dynamic range well below 16-bit's 96 dB ceiling, so 24-bit FLAC adds file size without adding usable information. Exception: if the FLAC will undergo DAW processing (EQ, compression, normalisation), 24-bit gives the floating-point processing chain extra headroom. ALAC sources at 24-bit (Apple Music Lossless / Hi-Res Lossless tiers) should be converted to 24-bit FLAC to preserve the source bit depth — never downconvert silently. Sample rate: keep at source. AAC and ALAC files are commonly 44.1 or 48 kHz; resampling at FLAC encode time is unnecessary and adds artefacts.
ffmpeg One-Liner
Command-line: 'ffmpeg -i input.m4a output.flac' — auto-detects codec, decodes correctly. Force 24-bit: 'ffmpeg -i input.m4a -sample_fmt s32 -bits_per_raw_sample 24 output.flac'. Maximum FLAC compression: '-compression_level 12' (slower encode, ~3-5% smaller file). Strip metadata: '-map_metadata -1'. Preserve metadata: by default, ffmpeg copies M4A iTunes-style tags into FLAC Vorbis comments — most useful tags (title, artist, album, track number, year) translate cleanly. Album art: '-vn' to strip embedded images, omit to keep them. Batch convert: 'for f in *.m4a; do ffmpeg -i "$f" "${f%.m4a}.flac"; done'. Install ffmpeg via Homebrew on macOS or apt on Linux.
File Size and the Quality Reality Check
Size math: AAC at 256 kbps is ~1.9 MB/min stereo. Decoded to PCM: ~10.5 MB/min. FLAC compresses that to ~6-7 MB/min depending on content. Net: FLAC ~3-4x larger than the AAC source for AAC inputs; ~1x same as ALAC for ALAC inputs. Quality reality: a FLAC made from a 256 kbps AAC source is identical (bit-for-bit on decode) to the AAC's reproduced audio — but the FLAC carries no information the AAC didn't. Tagging it 'lossless' is technically true (the FLAC encoding step is lossless) but functionally misleading: the audio is what AAC produced. For a lossless library, source from CD rips or genuine lossless downloads (Bandcamp FLAC, Apple Music Lossless ALAC, Tidal HiFi FLAC). Converting AAC to FLAC is workflow normalisation, not quality upgrade.