Skip to content
Zumkor
← Back to blog 10 min read

How to convert FLAC to ALAC on Mac (lossless, for Apple Music)

Apple Music won't import FLAC. Convert FLAC to ALAC on your Mac with afconvert, ffmpeg or Zumkor: bit-identical lossless audio, whole folders, nothing uploaded.

Convert your audio with Zumkor on your Mac — free for 7 days, then 5 files a day free or $19.99 once. Needs macOS 14.0 or later on an Apple silicon Mac (Apple M1 or later).

Get Zumkor on the Mac App Store

You paid extra for lossless. Maybe it was a Bandcamp album where you picked the FLAC download, a hi-res release from a download store, or a shelf of CDs you ripped to FLAC years ago. Now you want those files in Apple Music on your Mac, and the Music app won’t take them: drag a .flac into the window and nothing happens. No error, no import, no track. To get that music into your library without throwing away what you paid for, convert FLAC to ALAC on your Mac. ALAC is Apple Lossless, the same bit-for-bit audio in a format Music imports natively.

This guide covers why ALAC is the right target, why the Music app’s own converter can’t help, and three routes that all run on your Mac: a built-in Terminal command, ffmpeg for tags and artwork, and a drag-a-folder route for whole libraries. None of them upload anything.

In this guide9 sections

FLAC vs. ALAC: same audio, different wrapper

FLAC (Free Lossless Audio Codec) and ALAC (Apple Lossless Audio Codec) solve the same problem the same way. Both compress audio to roughly half the size of a WAV or AIFF, and both decode back to exactly the samples that went in. Neither throws anything away. A 24-bit/96 kHz FLAC becomes a 24-bit/96 kHz ALAC, and a CD rip stays a CD rip.

What differs is the ecosystem around each one:

  • FLAC is the open standard from Xiph.Org. Bandcamp, audiophile download stores, CD-ripping tools and nearly every non-Apple player use it. It lives in .flac files and stores tags as Vorbis comments.
  • ALAC is Apple’s. It shipped in 2004, Apple open-sourced it in 2011, and it’s what the Music app, the iPhone and the rest of Apple’s audio stack use for lossless. It lives in an .m4a file, the same MPEG-4 audio container as AAC, with iTunes-style tags and cover art.

ALAC files usually come out a few percent larger than the same FLAC, because FLAC’s highest compression settings squeeze slightly harder. That’s the only real cost.

Apple supports FLAC halfway. Since macOS High Sierra, QuickTime Player and Finder’s Quick Look play .flac files, which is why the file seems healthy when you press the spacebar. The Music app never accepted it, on the Mac or the iPhone, and still doesn’t.

Why not just convert to MP3? If the files are going to a car stereo or an old USB player, MP3 is the right call, and the FLAC to MP3 guide covers it. If they’re going into your own Apple Music library, MP3 throws away the thing you paid for, and you can’t get it back later. ALAC keeps every bit and imports just as cleanly. WAV and AIFF would also import, at roughly twice the size, and WAV’s tag support in Music is weak. For a lossless Apple library, ALAC is the format.

Why the Music app’s converter can’t do this

The Music app has a lossless converter built in. Under Music → Settings → Files → Import Settings, set Import Using to Apple Lossless Encoder, then select tracks and choose File → Convert → Create Apple Lossless Version. It works well for AIFF and WAV files.

It can’t touch FLAC, and the reason is circular: Create Apple Lossless Version only works on tracks already in your library, and FLAC files can’t get into the library in the first place. The one format you most need converted is the one the converter never sees. QuickTime doesn’t help either. It plays FLAC, but its only audio export, File → Export As → Audio Only, writes AAC, which is lossy.

So you need a tool outside the Music app. There are three good ones, and the first ships with macOS.

Method 1: afconvert (built into macOS)

afconvert is Apple’s command-line audio converter, and it’s already on your Mac. Core Audio has decoded FLAC since High Sierra, so afconvert can read the file and write ALAC directly:

afconvert -d alac -f m4af input.flac output.m4a

-d alac sets the codec, and -f m4af sets the file type to an MPEG-4 audio file. For a folder of FLACs:

for f in *.flac; do
  afconvert -d alac -f m4af "$f" "${f%.flac}.m4a"
done

Nothing to install, and the audio is converted correctly. The catch is everything around the audio. afconvert converts sound, not metadata, so don’t count on the artist, album, track numbers or cover art arriving in the .m4a. Music shows untagged files by filename, and re-tagging a whole library by hand is miserable. afconvert is fine for a handful of tracks you’ll tag anyway, or for audio that never had tags. For a real music library, use one of the next two routes.

Method 2: ffmpeg (keeps tags and, usually, artwork)

ffmpeg, installed with Homebrew, reads FLAC’s Vorbis-comment tags and writes them as the tags Music reads:

brew install ffmpeg
ffmpeg -i input.flac -c:a alac -c:v copy output.m4a

-c:a alac encodes Apple Lossless. -c:v copy looks odd for an audio file, but ffmpeg treats embedded cover art as a one-frame video stream, and this copies the picture into the .m4a as artwork. Title, artist, album, album artist, track and disc numbers, year and genre carry over without any extra flags. If your ffmpeg build complains about the picture stream, swap -c:v copy for -vn to drop the artwork and add it back in Music.

A music library is rarely one flat folder. This loop walks an Artist/Album/ tree and writes a matching tree of ALAC files next to it, so the FLACs stay untouched:

cd ~/Music/FLAC
find . -name '*.flac' -print0 | while IFS= read -r -d '' f; do
  mkdir -p "../ALAC/$(dirname "$f")"
  ffmpeg -nostdin -n -loglevel error -i "$f" -c:a alac -c:v copy "../ALAC/${f%.flac}.m4a"
done

-nostdin stops ffmpeg from swallowing the file list, -n refuses to overwrite anything that already exists, and -loglevel error keeps the output quiet unless something fails. Audio converts fast, so even a large library finishes in a reasonable time.

If you’d rather click than type, XLD (X Lossless Decoder) is the long-standing free Mac app for exactly this job, with a dated interface and good tag handling.

Method 3: Zumkor (drag the folder, pick ALAC)

If you’d rather not keep a Terminal recipe, Zumkor converts audio the same way it converts video and photos. It needs macOS 14 or later on an Apple silicon Mac (M1 or later).

  1. Drag your .flac files, or the top-level music folder, into Zumkor. Right-clicking a folder in Finder and choosing Services → Add to Zumkor works too.
  2. Pick ALAC (Apple Lossless). If the list holds a mix of files, Apply to All at the top of the menu sets every row at once.
  3. Check the rows. Each one shows the exact filename it will produce before you convert, so you can confirm 01 Intro.flac becomes 01 Intro.m4a.
  4. Click Convert and choose where the files go. The FLACs stay where they are.

There’s no codec, bitrate or bit-depth setting to get wrong, because there isn’t one to set. A queue holds up to 2,000 files, so a big library goes in a few passes, and conversions keep running with the window closed. Everything happens on your Mac: nothing is uploaded, and converting works with Wi-Fi off.

WAV and AIFF files go to ALAC the same way, at about half the size. OGG files and old WMA rips from a Windows PC are the exception: they become MP3, M4A or FLAC. And if a friend needs FLAC from your ALAC files, Zumkor writes FLAC too.

Pricing: everything is free for 7 days. After that you can keep converting 5 files a day (25 a week) for free, which covers the odd new album. A back catalog is what the Full Version is for: a one-time $19.99 purchase, yours forever, with no subscription and no account, shared through Family Sharing.

For one album and a working Homebrew, ffmpeg costs nothing. Zumkor earns its place when the job is a whole library, when you’d rather not maintain a script, or when the same Mac also has M4A voice memos and video files waiting in other formats.

Check that it really is lossless

“Lossless” is a claim you can check. Two quick tests confirm that a converted file matches its source.

Read the format with afinfo. It’s built into macOS:

afinfo "01 Intro.m4a"

Look at the data format line. It should name alac, the same sample rate as the FLAC (44100 Hz for a CD rip, 96000 Hz for many hi-res files), and the right source bit depth, such as from 16-bit source or from 24-bit source. If a 24-bit FLAC came out as 16-bit, the file isn’t the same audio any more. Find out before you convert the rest of the library.

Compare the decoded audio with ffmpeg. This decodes both files to raw samples and hashes them:

ffmpeg -loglevel error -i "01 Intro.flac" -map 0:a -c:a pcm_s32le -f md5 -
ffmpeg -loglevel error -i "01 Intro.m4a" -map 0:a -c:a pcm_s32le -f md5 -

If the two MD5= lines match, the ALAC holds exactly the same audio as the FLAC, sample for sample. Decoding to 32-bit makes the check cover every bit of a 24-bit file too. The file hashes themselves will differ, because the containers and tags differ. The decoded audio is what has to match.

After you convert FLAC to ALAC on your Mac

  • Decide whether Music copies the files. Under Music → Settings → Files, “Copy files to Music Media folder when adding to library” decides whether importing duplicates the ALACs into Music’s own folder or leaves them where they are. Either works. Just choose before you drag in 40 GB.
  • Keep the FLACs as your archive. Disk space is cheaper than re-buying albums, and FLAC is the format every other player and future tool will read. A sensible setup is FLAC as the archive and ALAC as the copy that lives in Music.
  • Spot-check tags and artwork on one album first. Whatever route you take, import one converted album, look at it in Music and fix the recipe before converting thousands of tracks.
  • Watch the iPhone sync setting. When you sync an iPhone through Finder, the General tab has an option to convert higher bit rate songs to AAC. Leave it off to keep ALAC on the phone, or turn it on if storage matters more.
  • Know what Sync Library does. If you use Sync Library through Apple Music or iTunes Match, the copies your other devices download from iCloud are 256 kbps AAC, not your ALAC files. The lossless copy is the one on your Mac and whatever you sync by cable.
  • Two .m4a files can be very different. AAC and ALAC share the .m4a extension. To tell which one you have, use Get Info in Music or run afinfo. “Apple Lossless” or alac means lossless, and “AAC” means lossy.
  • Buy ALAC directly next time. Bandcamp offers ALAC as a download option, which skips the conversion entirely.

Bottom line

  • A few untagged tracks, nothing installed: afconvert -d alac -f m4af input.flac output.m4a.
  • A tagged library, free: ffmpeg -i input.flac -c:a alac -c:v copy output.m4a, looped over the folder tree so tags and artwork come along.
  • A library, no Terminal: Zumkor. Drag the folder in, pick ALAC and convert on your Mac into a folder you choose. Free for 7 days, then 5 files a day free, or a one-time $19.99 for everything.

Whichever route you take, run afinfo on one converted file first and keep the FLAC originals. You chose lossless when you bought the music, and FLAC to ALAC is the one conversion that keeps it that way. For everything else Zumkor reads and writes, see the full formats list.

FAQ

Is converting FLAC to ALAC lossless?

Yes. FLAC and ALAC are both lossless codecs, so decoding the ALAC gives you exactly the same samples as decoding the FLAC, as long as the sample rate and bit depth stay the same. Only the compression method and the container change. You can prove it on any track by comparing an MD5 of the decoded audio from both files with ffmpeg.

Why won’t Apple Music import my FLAC files?

The Music app has never supported FLAC, on the Mac or the iPhone, because Apple uses its own lossless codec, ALAC. QuickTime and Quick Look play FLAC, so the file looks fine, but Music skips it on import without an error. Converting to ALAC gives you the same lossless audio in a file Music accepts.

How do I convert a whole FLAC library to ALAC on a Mac?

In Terminal, loop ffmpeg over the folders with -c:a alac, which carries the usual tags across. Or drag the top folder into Zumkor, pick ALAC and convert into a folder you choose, on your Mac with nothing uploaded, up to 2,000 files per queue. Check one converted album, tags and hi-res details included, before you convert the rest.