Convert WMA to M4A — Free Online Tool
Convert WMA files to M4A by transcoding Microsoft's proprietary WMA audio (typically encoded with the wmav2 codec) into AAC within an MPEG-4 container — the format natively supported by Apple devices, iTunes, and most modern streaming apps. This is ideal for breaking free from Windows Media Player dependency while preserving audio quality at comparable bitrates.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your WMA 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
WMA files carry audio encoded with Microsoft's wmav2 (or older wmav1) codec inside a proprietary ASF container. Since M4A uses a completely different codec (AAC) and container (MPEG-4), this conversion cannot simply remux the stream — the audio must be fully decoded from wmav2 and re-encoded into AAC. FFmpeg decodes the WMA audio to raw PCM internally, then encodes it fresh as AAC at the specified bitrate (128k by default), and wraps it in an M4A container with the -vn flag ensuring no stray video streams are included. Because this is a lossy-to-lossy transcode, each generation introduces some quality loss, so you should use the highest reasonable bitrate for the output.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg multimedia processing tool, which handles all decoding, encoding, and container remuxing. In the browser-based version of this tool, FFmpeg runs via WebAssembly (FFmpeg.wasm) entirely on your device — no server is involved. |
-i input.wma
|
Specifies the input file — your source WMA file containing wmav2 (or wmav1) audio inside Microsoft's ASF container. FFmpeg reads and decodes this proprietary format to raw audio before re-encoding. |
-c:a aac
|
Sets the audio codec for the output to AAC (Advanced Audio Coding), which is the standard codec for M4A files and is natively supported by Apple devices, iTunes, most browsers, and modern media players — unlike the wmav2 codec used in the source WMA file. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, which matches a common WMA source bitrate and provides a reasonable balance between file size and audio quality. You can raise this to 192k or 256k to reduce generational quality loss when transcoding from a higher-bitrate WMA source. |
-vn
|
Explicitly disables any video stream in the output. Some WMA/ASF files embed album art as a video track, and this flag ensures the M4A output contains only the audio stream, keeping it clean and compatible with audio-only players and podcast platforms. |
output.m4a
|
Specifies the output filename with the .m4a extension, which tells FFmpeg to use the MPEG-4 audio container. This container carries the newly encoded AAC stream and is recognized natively by Apple iTunes, iPhone, iPad, macOS, and most modern audio software. |
Common Use Cases
- Moving a music library ripped in Windows Media Player (WMA format) to an iPhone or iPad, which does not natively support WMA playback
- Uploading podcast recordings that were exported as WMA from Windows-based audio software to Apple Podcasts, which requires AAC/M4A files
- Making WMA audiobooks or lectures compatible with iTunes and Apple Books, which can also take advantage of M4A's chapter support
- Converting WMA files purchased or downloaded from older Microsoft Zune or Windows Media stores so they can be played in modern media players and streaming apps
- Archiving a collection of WMA radio recordings in a more universally compatible format before the source software or device becomes obsolete
- Preparing WMA audio assets for use in video editing software on macOS, where WMA support is often absent but M4A/AAC is natively decoded
Frequently Asked Questions
Because both WMA and M4A (AAC) are lossy formats, transcoding between them involves a second round of lossy compression, which can introduce subtle artifacts — especially at lower bitrates. At 128k AAC output from a 128k WMA source, most listeners will not notice a difference in normal listening conditions, but audiophiles may detect minor degradation. To minimize quality loss, set the output bitrate to match or exceed the original WMA bitrate. If you have access to the original lossless source (such as a WAV or FLAC), convert from that instead of from WMA.
WMA stores metadata using ASF attributes (fields like Title, Artist, Album, Track Number), while M4A uses iTunes-style atoms (MP4 tags). FFmpeg automatically maps common WMA metadata fields to their M4A equivalents during conversion, so standard tags like title, artist, album, and year are generally preserved. However, some WMA-specific extended attributes or custom fields may not have a direct M4A equivalent and could be dropped. It is worth verifying tags in a tag editor after conversion, especially for large library migrations.
Renaming a file only changes its extension — it does not change the actual audio codec or container format inside. An M4A file must contain AAC-encoded audio (or another supported codec like FLAC) inside an MPEG-4 container. A renamed WMA file still contains wmav2-encoded audio inside an ASF container, and any player that checks the file's actual format (rather than just the extension) will refuse to play it or produce an error. Full re-encoding with FFmpeg is required to produce a genuine M4A file.
Replace the value after -b:a in the command with your desired bitrate. For example, to encode at 192 kbps AAC instead of the default 128k, use: ffmpeg -i input.wma -c:a aac -b:a 192k -vn output.m4a. Common choices are 96k for voice content, 128k for general music, and 192k–256k for higher-fidelity music. Keep in mind that going above the bitrate of your original WMA file will not recover lost quality — it will only increase file size.
FFmpeg itself processes one file at a time, but you can batch convert using a shell loop. On Linux or macOS, run: for f in *.wma; do ffmpeg -i "$f" -c:a aac -b:a 128k -vn "${f%.wma}.m4a"; done. On Windows Command Prompt, use: for %f in (*.wma) do ffmpeg -i "%f" -c:a aac -b:a 128k -vn "%~nf.m4a". This processes each WMA file in the current directory and outputs a corresponding M4A file with the same base filename.
M4A (via Apple's FairPlay) and WMA both have DRM capabilities, but FFmpeg cannot decrypt DRM-protected content. If your WMA file was purchased from a store and is protected by Windows Media DRM, FFmpeg will fail to read the audio stream and the conversion will not succeed. Only unprotected WMA files — such as those you ripped yourself from a CD or received as plain WMA downloads — can be converted. DRM-free WMA files convert without any issues.
Technical Notes
The WMA format uses Microsoft's ASF (Advanced Systems Format) container and defaults to the wmav2 codec, which is a psychoacoustic lossy codec broadly comparable in quality to MP3 and AAC at similar bitrates. AAC (Advanced Audio Coding), used in M4A, is generally considered more efficient than wmav2 — meaning AAC can achieve similar perceived quality at a somewhat lower bitrate. The -vn flag in the FFmpeg command is a precaution that discards any video stream (some WMA files can technically contain attached album art encoded as a video track in the ASF container), ensuring the output is a clean audio-only M4A. The MPEG-4 container used by M4A supports chapter markers, which can be added separately after conversion — a feature WMA lacks entirely. One notable limitation: WMA files protected by Microsoft's PlayReady or older Windows Media DRM are unreadable by FFmpeg and cannot be converted. Additionally, the older wmav1 codec found in very early WMA files is decoded by FFmpeg without issue, so this command handles both wmav1 and wmav2 source files transparently.