Convert ALAC to M4A — Free Online Tool

Convert ALAC audio files to M4A with AAC encoding directly in your browser — no upload required. This conversion transcodes Apple's lossless audio into the AAC codec at 128k bitrate, producing a smaller M4A file ideal for streaming, iTunes distribution, and everyday playback while staying within the familiar MPEG-4 container both formats share.

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

ALAC and M4A both live inside the MPEG-4 container, but this conversion is not a simple remux — it's a genuine transcode. The ALAC stream, which stores audio as a mathematically perfect reconstruction of the original PCM waveform, is decoded to raw audio and then re-encoded using the AAC codec at 128k bitrate. AAC is a lossy perceptual codec, meaning it discards audio information deemed inaudible to the human ear using psychoacoustic modeling. The result is a file typically 70–85% smaller than the ALAC source. Because the container stays MPEG-4 throughout, chapter markers and iTunes-style metadata tags are preserved in the output M4A.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles all decoding, encoding, and container operations for this ALAC-to-AAC conversion.
-i input.m4a Specifies the input ALAC file. Despite the .m4a extension, this file contains an Apple Lossless audio stream inside an MPEG-4 container, which FFmpeg detects automatically by inspecting the codec headers.
-c:a aac Sets the audio codec for the output to AAC using FFmpeg's built-in encoder. This is what causes the actual transcode — the lossless ALAC stream is decoded and re-encoded as lossy AAC audio.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second. This controls the quality-vs-filesize tradeoff for the lossy AAC output — a typical ALAC file of 5 minutes might be around 50MB, while the 128k AAC output would be roughly 5–6MB.
-vn Disables any video stream in the output. Some ALAC M4A files contain embedded album artwork stored as a video track, and this flag ensures the output is a clean audio-only M4A rather than accidentally including that data.
output.m4a The output filename, using the .m4a extension. The resulting file is an MPEG-4 audio container holding an AAC-encoded stream — the same extension as the input but with a fundamentally different, smaller, lossy audio codec inside.

Common Use Cases

  • Shrinking a large ALAC music library ripped from CDs so it fits on an iPhone or iPod with limited storage, where lossless quality isn't perceptible on earbuds
  • Preparing ALAC masters for podcast distribution platforms that require AAC-encoded M4A files and impose file size or bitrate limits
  • Converting an ALAC audiobook — which may have chapter markers — into a smaller AAC M4A that retains those chapters for Apple Books or Podcast apps
  • Sending high-quality ALAC recordings to collaborators or clients who need a smaller file for review playback rather than archival quality
  • Reducing the file size of ALAC recordings from a digital audio interface before uploading them to a streaming service that transcodes audio anyway
  • Creating a streaming-friendly AAC copy of an ALAC archive file while keeping the original lossless version for long-term storage

Frequently Asked Questions

Yes — this conversion introduces lossy compression that cannot be undone. ALAC is mathematically lossless, meaning every sample of the original audio is preserved exactly. AAC at 128k uses perceptual coding to discard audio data, so the output is technically a degraded copy. For most listeners on typical playback equipment, 128k AAC sounds very close to the original, but audiophiles or studio engineers comparing critically will detect differences, particularly in transients and high-frequency detail.
Both ALAC and AAC can be stored in the MPEG-4 container, and M4A is simply the audio-only variant of that container. Changing the codec from ALAC to AAC doesn't require changing the container — it's still a valid MPEG-4 audio file. iTunes, Apple Music, and most other players identify these files by inspecting the codec inside the container rather than relying solely on the file extension.
Chapter markers and standard iTunes metadata tags (artist, album, title, track number, artwork, etc.) are generally preserved during this conversion because both formats use the same MPEG-4 container structure for storing metadata. FFmpeg copies these tags to the output by default. However, some non-standard or application-specific tags may not survive the transcode, so it's worth checking the output in your media player if tag accuracy is critical.
128k AAC is considered transparent for most casual listening, but if you're converting a high-quality ALAC master and want to preserve more detail — for example, for professional distribution or critical listening — consider using 192k or 256k instead. You can modify the -b:a flag in the FFmpeg command to any supported bitrate such as -b:a 256k. Higher bitrates produce larger files but reduce the perceptual gap between the AAC output and the original ALAC source.
Replace the value after -b:a in the command. For example, to convert at 256k instead of 128k, the command becomes: ffmpeg -i input.m4a -c:a aac -b:a 256k -vn output.m4a. Supported bitrate options include 64k, 96k, 128k, 192k, 256k, and 320k. Keep in mind that since ALAC is lossless, the original audio quality is not the limiting factor — choosing a higher bitrate simply gives the AAC encoder more data budget to represent the signal accurately.
The displayed command processes a single file, but you can batch convert on your desktop using a shell loop. On macOS or Linux, run: for f in *.m4a; do ffmpeg -i "$f" -c:a aac -b:a 128k -vn "${f%.m4a}_aac.m4a"; done. On Windows PowerShell, use: Get-ChildItem *.m4a | ForEach-Object { ffmpeg -i $_.FullName -c:a aac -b:a 128k -vn ($_.BaseName + '_aac.m4a') }. This is particularly useful when converting a full ALAC music library.

Technical Notes

ALAC files are technically M4A files — both use the MPEG-4 container with the .m4a extension — so the container itself doesn't change during this conversion, only the audio stream inside it. FFmpeg decodes the ALAC stream to PCM internally and then passes it through its native AAC encoder (the aac codec), which is a decent general-purpose encoder though not as efficient as third-party encoders like FDK-AAC at equivalent bitrates. The -vn flag is included as a precaution to strip any video streams (such as embedded album artwork stored as a video track in some ALAC files), ensuring a clean audio-only output. One known limitation is that very low bitrates like 64k can sound noticeably degraded for music with complex instrumentation, so 128k should be considered the practical minimum for music content. Since ALAC is lossless, the quality ceiling of the output is entirely determined by the AAC bitrate you choose — there is no benefit to re-encoding an already-lossy AAC file at a higher bitrate, but converting from ALAC gives you the full original signal to work from.

Related Tools