Compress ALAC Online — Free File Size Reducer
Compress an ALAC file by re-encoding it to a fresh ALAC stream, stripping unnecessary overhead and optimizing the lossless audio container. Since ALAC is already lossless, this process preserves every bit of the original audio while potentially reducing file size through cleaner encoding.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your ALAC file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
ALAC to ALAC compression works by decoding the existing Apple Lossless audio stream back to raw PCM and then re-encoding it using FFmpeg's ALAC encoder. Because ALAC is a lossless codec, the decoded PCM is mathematically identical to the original — no audio data is lost. The re-encoding pass can produce a smaller file if the source ALAC was encoded inefficiently, had bloated metadata, or was exported from software that left unnecessary padding or container overhead. The output is stored in a fresh MPEG-4 (.m4a) container, compatible with iTunes, Apple Music, and all Apple devices.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine running under the hood both in this browser tool (via FFmpeg.wasm/WebAssembly) and on your local desktop installation. |
-i input.m4a
|
Specifies the input ALAC file, stored in an MPEG-4 (.m4a) container. FFmpeg reads the Apple Lossless audio stream from this file and decodes it to raw PCM in memory for re-encoding. |
-c:a alac
|
Sets the audio codec for the output to ALAC (Apple Lossless Audio Codec). This first instance in the command instructs FFmpeg to use the ALAC encoder, re-encoding the decoded PCM back into a lossless ALAC stream rather than copying the original stream as-is. |
-c:a alac
|
A second explicit declaration of the ALAC output codec, ensuring the output stream is unambiguously encoded as Apple Lossless. FFmpeg honors the final codec flag for the output stream, so this is the operative instruction that produces the fresh ALAC encode in the output file. |
output.m4a
|
Defines the output filename and container. The .m4a extension places the re-encoded ALAC audio stream into an MPEG-4 container, which is the standard format expected by iTunes, Apple Music, and Apple devices for lossless audio playback. |
Common Use Cases
- Reducing the file size of ALAC files exported from DAWs like Logic Pro or GarageBand that may have been encoded with suboptimal settings or extra container padding
- Cleaning up ALAC files ripped from CD using older software to re-encode them with a more efficient, standards-compliant FFmpeg ALAC stream
- Stripping bloated or corrupt metadata from an ALAC file while keeping the lossless audio intact before adding it to an iTunes or Apple Music library
- Re-containerizing ALAC files that have structural issues causing playback errors in certain Apple devices or QuickTime-based applications
- Normalizing a collection of ALAC files from different sources into a consistent encoding profile before archiving or syncing to an iPhone or iPad
- Verifying the integrity of a lossless archive by round-tripping ALAC files through a fresh encode and confirming the resulting stream is clean and playable
Frequently Asked Questions
No — ALAC is a lossless codec, which means every re-encode produces a PCM intermediate that is bit-for-bit identical to the original audio. The output ALAC file will contain exactly the same audio data as the input, just wrapped in a new, cleanly encoded stream. There is no generational quality loss as there would be with lossy formats like MP3 or AAC.
It depends on the source. If the original ALAC was encoded by inefficient software, left with large metadata blocks, or stored with extra container padding, a fresh FFmpeg encode can produce a noticeably smaller file. However, if the source is already efficiently encoded, the output may be roughly the same size or even marginally larger. ALAC compression ratios are determined by the audio content itself — the codec cannot compress audio below its theoretical minimum for a given sample.
FFmpeg copies most standard iTunes-compatible metadata tags (title, artist, album, track number, year, etc.) by default when remuxing to an M4A container. However, embedded album art and some non-standard or proprietary tags may not transfer perfectly depending on how they were stored in the original file. If metadata integrity is critical, verify the output in iTunes or a tag editor like Mp3tag after conversion.
In this automatically generated command, `-c:a alac` appears once for the input format specification context and once to explicitly set the output audio codec to ALAC. In practice, the effective flag that matters is the final `-c:a alac` before the output filename, which instructs FFmpeg to encode the audio stream using the ALAC encoder. The redundancy is harmless — FFmpeg processes the last applicable codec flag for the output stream.
Yes, you can batch process ALAC files on your desktop using a shell loop. On macOS or Linux, run: `for f in *.m4a; do ffmpeg -i "$f" -c:a alac "compressed_$f"; done`. On Windows PowerShell: `Get-ChildItem *.m4a | ForEach-Object { ffmpeg -i $_.Name -c:a alac "compressed_$($_.Name)" }`. This applies the same ALAC re-encode to every file in a folder, which is especially useful for the in-browser tool's 1GB file limit — large libraries can be batch processed locally.
If your goal is dramatically smaller files rather than lossless preservation, ALAC-to-ALAC re-encoding is not the right tool — you would need to convert to a lossy format like AAC or MP3 instead. ALAC is lossless by design, so the compression ceiling is set by the audio content. Re-encoding ALAC to ALAC is best for housekeeping purposes: cleaning up encoding artifacts, reducing container overhead, or normalizing a library — not for aggressive size reduction.
Technical Notes
ALAC stores audio in an MPEG-4 container (.m4a), and the codec uses a linear prediction model similar to FLAC to achieve lossless compression. Typical ALAC compression ratios are 40–60% of uncompressed PCM, depending on the complexity of the audio content — dynamic material like classical music compresses better than dense electronic mixes. FFmpeg's ALAC encoder (`-c:a alac`) is fully compatible with Apple's reference implementation and produces files that play natively in iTunes, Apple Music, QuickTime, and on all iOS/macOS devices. One known limitation is that ALAC in an M4A container does not support multiple audio tracks or subtitle streams. Chapter markers, if present in the source file, may be preserved depending on how they were embedded. If the source ALAC file uses a sample rate or bit depth beyond standard CD quality (44.1 kHz / 16-bit) — such as 96 kHz / 24-bit high-resolution audio — FFmpeg will preserve those values exactly in the output stream without any downsampling unless explicitly instructed otherwise.