Convert AAC to M4A — Free Online Tool

Convert AAC audio files to M4A format by rewrapping the existing AAC stream into an MPEG-4 container — preserving your audio quality while gaining iTunes metadata support and gapless playback compatibility. Since AAC is already the native codec for M4A, this conversion is fast and lossless in practice.

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

AAC (.aac) files store raw AAC-encoded audio in an ADTS (Audio Data Transport Stream) bitstream without a rich container. M4A is an MPEG-4 audio container that natively houses AAC audio, so this conversion primarily involves rewrapping — taking the AAC audio stream and placing it inside an MPEG-4 container (the same container used by .mp4 files, but without video). The FFmpeg command re-encodes the audio using the AAC codec at 128k bitrate, writing it into the M4A container with the -vn flag to explicitly suppress any video stream. Because both formats use AAC as their core codec, audio quality loss is minimal — the main change is the addition of container-level features like chapter markers and iTunes-compatible metadata fields that the raw .aac format cannot support.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, the open-source multimedia processing engine that handles all audio stream reading, re-encoding, and container writing for this AAC-to-M4A conversion.
-i input.aac Specifies the input file — a raw AAC audio file in ADTS format. FFmpeg reads the ADTS bitstream and demuxes the AAC audio stream for processing.
-c:a aac Sets the audio codec to FFmpeg's built-in AAC encoder, which re-encodes the source AAC stream into a clean AAC stream suitable for embedding in the MPEG-4 container used by M4A.
-b:a 128k Sets the audio bitrate to 128 kilobits per second, which is the standard quality level for AAC audio — broadly transparent for music and speech while keeping file sizes manageable. Adjust this value if your source was encoded at a higher bitrate.
-vn Explicitly disables any video output, ensuring the resulting M4A file contains only the audio stream. This prevents stub or accidental video tracks from being written into the MPEG-4 container, which would technically make the file an MP4 rather than a pure M4A.
output.m4a Specifies the output filename with the .m4a extension, which instructs FFmpeg to write an MPEG-4 audio container — the format recognized by iTunes, Apple Music, Apple Podcasts, and most modern audio players as a proper M4A file.

Common Use Cases

  • Importing AAC audio into iTunes or Apple Music, which requires M4A container packaging to correctly read and display metadata like album art, artist, and track number
  • Preparing podcast episodes for submission to Apple Podcasts, which expects M4A files with proper MPEG-4 container structure for chapter support
  • Making raw AAC audio files compatible with iPhone and iPad apps that recognize .m4a extensions but not bare .aac ADTS streams
  • Adding chapter markers to an AAC audiobook before loading it into an M4A-aware player like Apple Books or Overcast
  • Organizing a music library where your media server or NAS software (e.g., Plex, Jellyfin) indexes .m4a files with full metadata but ignores raw .aac files
  • Fixing playback issues in QuickTime Player or Final Cut Pro, which handle M4A containers more reliably than raw ADTS-formatted AAC files

Frequently Asked Questions

In most cases the quality loss is negligible. Both formats use AAC audio, so the conversion involves re-encoding from one AAC stream to another rather than switching codecs entirely. Re-encoding at the same bitrate (128k by default) introduces a very small amount of generation loss, but it is generally inaudible. If you want to minimize any theoretical quality change, use a slightly higher bitrate like 192k in the FFmpeg command.
A raw .aac file stores AAC audio in an ADTS bitstream — essentially the compressed audio data with minimal wrapping. An .m4a file is an MPEG-4 container (the same format as .mp4) that holds AAC audio along with structured metadata, chapter markers, cover art, and gapless playback information. The audio codec inside is the same; the difference is entirely in the container and the features it enables.
iTunes and Apple Music are designed around the MPEG-4 container format and rely on the structured metadata fields that M4A provides — things like ID3-style tags embedded in the container, cover art atoms, and track numbering. Raw .aac ADTS files lack this container structure, so Apple software cannot read their metadata or sometimes even import them correctly. Converting to M4A resolves this by giving the AAC audio a proper MPEG-4 container that Apple software fully understands.
Replace the value after -b:a with your desired bitrate. For example, use -b:a 192k for higher quality or -b:a 96k for a smaller file size. AAC at 128k is generally transparent for most listeners, but if your source AAC was encoded at a higher bitrate like 256k, matching or exceeding that in the output will preserve more of the original fidelity. Avoid going above the source bitrate, as AAC cannot recover detail that was already discarded during the original encoding.
Yes. On Linux or macOS, you can use a shell loop: for f in *.aac; do ffmpeg -i "$f" -c:a aac -b:a 128k -vn "${f%.aac}.m4a"; done. On Windows Command Prompt, use: for %f in (*.aac) do ffmpeg -i "%f" -c:a aac -b:a 128k -vn "%~nf.m4a". This processes each .aac file in the current directory and produces a matching .m4a file — especially useful for large music libraries over 1GB that cannot be processed in the browser tool.
Raw .aac ADTS files do not support chapter markers at all — that metadata simply does not exist in the format. However, M4A does support chapters as a container-level feature. If you add chapter metadata manually (using tools like mp4chaps or FFmpeg metadata files after conversion), the M4A container will store and expose them correctly to compatible players like Apple Podcasts and Overcast. The conversion itself creates the container that makes chapter support possible.

Technical Notes

The .aac extension typically refers to raw ADTS-wrapped AAC audio, which has no container in the traditional sense — it is similar in concept to a raw .264 file for video. M4A uses the ISO Base Media File Format (ISOBMFF), the same foundation as MP4, providing a proper atom-based container structure. FFmpeg's -c:a aac flag uses its built-in AAC encoder (not libfdk_aac, which requires a separately compiled FFmpeg build). If you have access to a libfdk_aac-enabled FFmpeg build, substituting -c:a libfdk_aac generally produces slightly better quality at equivalent bitrates. The -vn flag is included as a safeguard to explicitly discard any video stream, which is important because some AAC files embedded in video workflows may carry stub video tracks. Metadata tags present in the source .aac file (if any were embedded via ID3 tags on the ADTS stream) may not fully transfer, since M4A uses iTunes-style MP4 metadata atoms rather than ID3 — you may need to re-tag the output M4A file using a tool like MusicBrainz Picard or mp4v2. The M4A container produced by this conversion is fully compatible with Apple devices, QuickTime, VLC, and most modern browsers via the HTML5 audio element.

Related Tools