How to Convert FLAC to AAC
FLAC to AAC is the canonical 'lossless archive to portable copy' conversion for Apple ecosystem users. The source is bit-perfect; the destination is small and plays natively on every iPhone, Mac, and Apple TV. The decisions are bitrate, container, and whether to keep the FLAC master alongside. This page is the practical workflow.
Why FLAC to AAC Specifically
Apple Music, iTunes, Apple TV, every iPhone, every iPad, every Mac, and AirPods all decode AAC natively. Apple's hardware audio path is optimised for AAC playback; AAC files use less battery to play than MP3 because the decoder is hardware-accelerated. Converting your FLAC archive to AAC produces a library that works flawlessly across the Apple ecosystem at a fraction of the storage. AAC is also more efficient than MP3 at every bitrate — a 192 kbps AAC sounds equivalent to a 256 kbps MP3 in blind tests. For non-Apple destinations, MP3 still has wider hardware support (older car stereos, some Bluetooth speakers); but Apple-only users get strictly better results from AAC. See [m4a-to-mp3](/convert/m4a-to-mp3) for the reverse path when sharing.
Source Confirmation: True FLAC?
Before converting, confirm the source is genuine lossless FLAC. Some files use the .flac extension but contain re-encoded lossy content (transcoded from MP3 to FLAC by an end-user). Spectrum-analyse a known loud passage in Audacity (View > Spectrogram, or Plot Spectrum) — true lossless content shows energy up to 22 kHz at the source's recording bandwidth. A FLAC made from a 128 kbps MP3 source has a sharp roll-off above 16 kHz revealing the lossy origin. SpEK (free, all platforms) and Spectro automate this check. If the FLAC is transcoded, converting to AAC produces a lossy file from already-lossy audio — perfectly legal, but no quality benefit over the original MP3 source. For a clean library, archive only verified-lossless FLACs.
Recommended Bitrate: 256 kbps
256 kbps AAC VBR is the default sweet spot. It matches Apple Music's streaming quality (which is 256 kbps AAC), is essentially transparent under blind ABX testing for most listeners on most material, and produces files of about 1.9 MB per minute — small enough to fit a 1,000-track library on an 8 GB iPhone partition. Lower options: 192 kbps for voice-heavy content like audiobook rips and live podcast archives. 128 kbps for storage-constrained scenarios (Apple Watch syncs, older iPhones with 16 GB storage); audible compromises but acceptable for casual listening. Higher options: 320 kbps gives marginal additional headroom but is wasted for most listeners on most equipment. Never go below 128 kbps for music — the AAC artefacts (treble smearing, stereo collapse) become obvious. Reference: [audio-bitrate-guide-by-use-case](/blog/audio-bitrate-guide-by-use-case).
Browser Conversion Workflow
Open [FLAC to M4A](/convert/flac-to-m4a) (AAC is wrapped in M4A containers; the .m4a extension is correct for AAC files in the Apple ecosystem). Drop your FLAC. The converter decodes the FLAC and re-encodes as AAC via WebAssembly ffmpeg, locally — your file never leaves the browser. Output: 256 kbps VBR AAC in M4A container by default. Click Download. Conversion runs ~5x faster than playback on a modern CPU; a 4-minute song converts in about a second. Free tier: 10-second preview. Pro: full files up to 500 MB. Verify by importing the .m4a into Music or iTunes — it should appear with full metadata (title, artist, album) preserved.
ffmpeg One-Liner and Batch Script
Single file: 'ffmpeg -i input.flac -c:a aac -b:a 256k -movflags +faststart output.m4a'. The -movflags +faststart moves metadata to the front of the file for faster Apple-device playback start. Use Apple's Core Audio AAC encoder where available (slightly better quality than libfdk_aac at the same bitrate): on macOS, ffmpeg compiled with --enable-audiotoolbox lets you use 'aac_at' as the codec: 'ffmpeg -i input.flac -c:a aac_at -b:a 256k output.m4a'. Batch convert a folder, preserving structure: 'find . -name "*.flac" -exec sh -c "ffmpeg -i {} -c:a aac -b:a 256k \${1%.flac}.m4a" sh {} \;'. fre:ac and XLD (Mac) provide GUI batch with the same encoders. Tag preservation: ffmpeg copies Vorbis comments to iTunes-style atoms by default; verify in Music after import.
Container and Extension Notes
AAC has two container conventions: raw .aac (ADTS frames, no metadata, no album art, no chapters), and .m4a (MP4 container with full Apple-style metadata atoms). Always use .m4a for library files. .aac is appropriate only for embedded systems or streaming applications. The two are not interchangeable in Apple's Music app — Music refuses to import naked .aac files. ffmpeg writes .m4a when the output extension is .m4a; .aac when the extension is .aac. AAC profiles: AAC-LC (Low Complexity) is the universal default and what every consumer device decodes. HE-AAC (High Efficiency) is more efficient at low bitrates (32-64 kbps) but support varies; for 192 kbps and above, stick with AAC-LC. xHE-AAC is a 2021+ profile with limited consumer device support — avoid for libraries.
When NOT to Convert
Three cases where you should keep the FLAC and not convert. (1) Active editing: re-encoding a FLAC to AAC, editing the AAC, and re-saving stacks two lossy generations on a lossless source. Edit the FLAC directly in your DAW; export to AAC only at the final stage. (2) Audiophile listening on capable equipment: open-back headphones, dedicated DACs, and high-resolution speaker systems may reveal the AAC's high-frequency rolloff and transient softening that earbuds and laptop speakers hide. (3) Re-distribution: never give someone an AAC if they could use a FLAC. The FLAC plays everywhere AAC plays and lets the recipient encode at their own preferred bitrate without stacking another lossy generation. Keep both copies: FLAC archive on a NAS or cloud, AAC working copy on the phone. See [m4a-vs-flac-quality](/blog/m4a-vs-flac-quality).