Convert FLAC to M4A — Free Online Tool

Convert FLAC lossless audio to M4A (AAC) for iTunes, Apple Music, and iOS compatibility. This tool re-encodes your FLAC audio into AAC at 128kbps inside an MPEG-4 container, balancing file size and listening quality for everyday playback on Apple devices.

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

FLAC and AAC are fundamentally different audio codecs — FLAC stores audio with mathematically perfect reconstruction of the original signal, while AAC is a lossy codec that uses perceptual models to discard audio data the human ear is less sensitive to. During this conversion, FFmpeg decodes the FLAC stream fully to raw PCM audio, then re-encodes it using the AAC encoder at a 128kbps bitrate, and packages the result in an MPEG-4 (.m4a) container. Because this involves full transcoding (not a simple remux), there is a deliberate quality tradeoff: the output will be smaller than the original FLAC file, but will not retain the bit-for-bit accuracy of lossless audio. The M4A container supports iTunes metadata, gapless playback markers, and chapter data, though chapter information is not carried over from FLAC since FLAC does not natively support chapters.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg multimedia processing tool. This is the core engine that handles decoding the FLAC input, running the AAC encoder, and writing the M4A output container.
-i input.flac Specifies the input FLAC file. FFmpeg reads the lossless FLAC audio stream from this file and fully decodes it to raw PCM before passing it to the AAC encoder.
-c:a aac Sets the audio codec to AAC using FFmpeg's built-in AAC encoder. This is what performs the lossy re-encoding from the decoded FLAC audio into the compressed AAC bitstream that will be stored in the M4A container.
-b:a 128k Sets the target audio bitrate to 128 kilobits per second. This is the default quality setting for this conversion — it results in a file significantly smaller than the original FLAC while maintaining audio quality that is transparent or near-transparent for most listeners.
-vn Disables video stream output. Some FLAC files embed album artwork as a video stream; this flag ensures only the audio stream is processed and written to the M4A file, preventing potential muxing errors with artwork data in the output container.
output.m4a Specifies the output filename and format. The .m4a extension signals FFmpeg to use the MPEG-4 audio container, which is the standard format for AAC audio used by Apple iTunes, Apple Music, and iOS devices.

Common Use Cases

  • Importing your FLAC music library into Apple Music or iTunes, which does not natively play FLAC files on older versions of iOS or macOS
  • Reducing the storage footprint of large FLAC albums before syncing to an iPhone or iPod with limited storage capacity
  • Preparing high-quality FLAC master recordings for podcast distribution where AAC in an M4A container is a widely accepted and bandwidth-efficient delivery format
  • Sharing lossless recordings with friends or collaborators who use Apple devices, where M4A/AAC is the default expected audio format
  • Converting FLAC audiobooks or lecture recordings to M4A to take advantage of the format's gapless playback and chapter support in Apple's Podcasts or Books apps
  • Creating a smaller, portable version of a FLAC archive for use on devices where playback of lossless audio is unsupported or unnecessary

Frequently Asked Questions

For most listeners in typical listening environments, AAC at 128kbps is considered 'transparent' or near-transparent — meaning the difference from the lossless source is difficult or impossible to detect in a blind listening test. However, the conversion is lossy and irreversible: the M4A output is not a lossless copy of your FLAC file. If you need to preserve the original for archival purposes, always keep your FLAC source files and treat the M4A as a distribution or playback copy.
Yes. The default command uses -b:a 128k, but you can change this to 192k, 256k, or 320k for improved quality, especially noticeable on complex musical passages or classical recordings. In the FFmpeg command, replace '128k' with your preferred bitrate, for example: ffmpeg -i input.flac -c:a aac -b:a 256k -vn output.m4a. Note that because the source is lossless FLAC, the only ceiling on quality is the AAC encoder itself — increasing the bitrate beyond 256k yields diminishing returns for most audio content.
Most standard Vorbis comment tags embedded in the FLAC file — such as TITLE, ARTIST, ALBUM, TRACKNUMBER, and DATE — will be automatically mapped by FFmpeg to their iTunes-compatible equivalents in the M4A container's iTunes metadata format. However, some custom or non-standard FLAC tags may not have a direct mapping and could be dropped. It is worth verifying the output tags in an application like MusicBrainz Picard or iTunes itself after conversion.
The -vn flag explicitly tells FFmpeg to ignore any video streams in the input. While FLAC files typically contain no video, some FLAC files embed album artwork as a video stream (a common packaging convention). Without -vn, FFmpeg might attempt to include or process that artwork stream, which can cause errors or unexpected output when targeting the M4A container. Including -vn ensures a clean, audio-only output regardless of what ancillary streams the FLAC file contains.
On Linux or macOS, you can loop over all FLAC files in a directory with: for f in *.flac; do ffmpeg -i "$f" -c:a aac -b:a 128k -vn "${f%.flac}.m4a"; done. On Windows Command Prompt, use: for %f in (*.flac) do ffmpeg -i "%f" -c:a aac -b:a 128k -vn "%~nf.m4a". This preserves the original filename and simply changes the extension, processing each file sequentially. For large libraries, this desktop approach is more practical than the browser tool, which is best suited for individual files up to 1GB.
Modern Macs running macOS 10.15 Catalina or later can play FLAC files natively in the Music app and QuickTime, and recent versions of iOS also added native FLAC support. However, older Apple devices, Apple TV (some generations), and certain third-party apps still expect AAC in an M4A container. Converting to M4A/AAC guarantees compatibility across all Apple hardware and software without relying on OS version or app-level FLAC support.

Technical Notes

AAC (Advanced Audio Coding) is the successor to MP3 and generally achieves better perceptual quality at equivalent bitrates, making 128kbps AAC in M4A a reasonable target for most listening scenarios. The MPEG-4 (.m4a) container is essentially an MP4 file restricted to audio-only content, which is why the -vn flag is used to suppress any non-audio streams. FFmpeg's native AAC encoder (used here) is a solid general-purpose encoder; for maximum quality at a given bitrate, advanced users may consider substituting -c:a libfdk_aac if they have a version of FFmpeg compiled with FDK-AAC support, as it is widely regarded as producing slightly superior output. One important limitation to be aware of: FLAC supports cue sheets and ReplayGain tags, neither of which has a direct equivalent in the M4A/iTunes metadata schema — these will not be carried forward in the conversion. Additionally, since FLAC is inherently lossless, re-encoding to AAC is a one-way lossy operation; you should never re-encode the M4A output back to FLAC expecting to recover the original lossless file, as the quality lost in the AAC encoding step cannot be restored.

Related Tools