Convert FLAC to ALAC — Free Online Tool

Convert FLAC audio files to ALAC (Apple Lossless Audio Codec) stored in an M4A container — a fully lossless conversion that preserves every bit of your audio quality while making your music library compatible with iTunes, Apple Music, and all Apple devices. Since both formats are lossless, no audio data is lost or degraded during transcoding.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

During this conversion, FFmpeg decodes the FLAC-compressed audio stream back to raw PCM audio, then re-encodes it using Apple's ALAC codec and wraps the result in an MPEG-4 (.m4a) container. Because both FLAC and ALAC are lossless formats, this decode-then-reencode cycle introduces absolutely no quality loss — the PCM audio in the middle of the process is mathematically identical to the original recording. The primary change is the container and codec wrapper: you go from Xiph's open FLAC format to Apple's ALAC format inside an MP4 container, which is what Apple's ecosystem natively recognizes and plays without any compatibility shims.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, the open-source multimedia framework used to decode the FLAC input, transcode the audio to ALAC, and write the M4A output file.
-i input.flac Specifies the input FLAC file. FFmpeg reads the FLAC-encoded audio stream and decodes it to raw PCM in memory so it can be re-encoded into the ALAC format.
-c:a alac Tells FFmpeg to encode the audio stream using Apple's ALAC (Apple Lossless Audio Codec) encoder. This is necessary because the M4A output container cannot store a FLAC audio stream — the audio must be re-encoded into a format the container supports.
-c:a alac A duplicate of the previous -c:a alac flag. This redundancy is harmless — FFmpeg processes the last value given for a repeated flag, so the result is identical to specifying it once: the audio is encoded as ALAC.
output.m4a The output filename with the .m4a extension, which tells FFmpeg to write the result into an MPEG-4 container. The .m4a extension signals to Apple software (iTunes, Apple Music, Finder, iOS) that this is an audio-only MPEG-4 file containing lossless ALAC audio.

Common Use Cases

  • Adding a high-resolution FLAC music collection purchased from Bandcamp or HDtracks to an iPhone or iPad without quality loss or conversion artifacts
  • Importing lossless FLAC albums into iTunes or Apple Music on macOS, which does not natively support FLAC playback or library management
  • Syncing a lossless audiophile collection to Apple CarPlay without relying on lossy AAC transcoding by the car system
  • Preparing audio files for use in Final Cut Pro or Logic Pro, both of which prefer ALAC/M4A over FLAC for native timeline integration
  • Converting a FLAC archive of vinyl rips or studio masters to ALAC so they can be played on an Apple TV or HomePod without a transcoding server
  • Migrating a lossless music library from a Linux-centric or Android workflow to an Apple-centric workflow while retaining bit-perfect audio fidelity

Frequently Asked Questions

No — this is a fully lossless conversion. Both FLAC and ALAC are lossless codecs, meaning each encodes the exact original PCM audio data with no perceptual tricks or frequency discarding. When FFmpeg decodes FLAC and re-encodes to ALAC, the intermediate PCM data is bit-for-bit identical to the source, and the ALAC output will decode to the same PCM data. A level comparison or null test between the original FLAC and the resulting ALAC (decoded to WAV) will produce complete silence, confirming no difference.
Most standard tags transfer correctly, but the two formats use different metadata systems. FLAC uses Vorbis Comment tags, while ALAC/M4A uses iTunes-style MP4 atoms. FFmpeg maps common fields like title, artist, album, and track number automatically, and embedded album artwork is typically preserved as well. However, some FLAC-specific tags or non-standard custom fields may not have a direct M4A equivalent and could be dropped, so verify your tags in iTunes or a tag editor like Mp3tag after conversion if your library has extensive custom metadata.
FLAC and ALAC use different lossless compression algorithms. FLAC is generally more efficient at compression, so the same audio encoded as ALAC will typically be somewhat larger — sometimes 10–30% larger depending on the audio content. This is purely a container and compression efficiency difference, not a quality difference. Both files decode to identical PCM audio; ALAC simply stores that audio with slightly less compression overhead.
ALAC supports up to 32-bit depth and sample rates up to 384 kHz, which covers the vast majority of high-resolution audio content including 24-bit/96kHz and 24-bit/192kHz masters. FLAC also supports very high bit depths and sample rates, so this conversion preserves hi-res audio specifications without any downsampling or bit-depth reduction. If your FLAC files are standard CD quality (16-bit/44.1kHz) or hi-res, the ALAC output will carry the same specification.
The flag -c:a alac instructs FFmpeg to use Apple's ALAC encoder for the audio stream rather than copying the FLAC stream directly (which would fail, since M4A containers do not support FLAC audio). ALAC has no quality tuning parameters like bitrate or compression level in the same way FLAC does — it is always lossless, so the encoder simply produces the most compatible ALAC output. Note that the command includes -c:a alac twice, which is redundant but harmless; the second instance overrides the first and the result is the same single ALAC-encoded audio stream.
Yes. On macOS or Linux you can loop over all FLAC files in a directory with a shell one-liner: for f in *.flac; do ffmpeg -i "$f" -c:a alac "${f%.flac}.m4a"; done. On Windows PowerShell the equivalent is: Get-ChildItem *.flac | ForEach-Object { ffmpeg -i $_.FullName -c:a alac ($_.BaseName + '.m4a') }. This is especially useful for large libraries over 1GB that exceed browser-based processing, since you can run the exact FFmpeg command this tool displays directly on your local machine.

Technical Notes

FLAC and ALAC are both integer PCM lossless codecs, but they differ significantly in ecosystem design. FLAC is an open standard maintained by Xiph.Org and is natively supported on Android, Linux, and most open-source players, but Apple's platforms have historically ignored it (macOS gained native FLAC support only in Catalina/Big Sur, and even then iTunes and Apple Music do not import FLAC into the library). ALAC, originally proprietary, was open-sourced by Apple in 2011 and is stored inside the MPEG-4 container (.m4a), the same container used for AAC audio. This means ALAC files are structurally similar to AAC M4A files and are fully compatible with all iTunes/Apple Music library management, iPhone/iPad sync, Apple TV, HomePod, and CarPlay. One notable FLAC feature that does not carry over is cue sheet embedding — FLAC can embed a cue sheet for gapless multi-track lossless images, but ALAC/M4A does not support this concept; you would need to split the FLAC image into individual tracks before converting. ReplayGain tags from FLAC also have no direct M4A equivalent, though iTunes uses its own Sound Check system instead. Chapters, however, are supported natively by the M4A container, making ALAC/M4A a good fit for long-form audio like audiobooks if chapter markers are added separately.

Related Tools