Convert WMA to AAC — Free Online Tool

Convert WMA files to AAC (.aac) entirely in your browser — no uploads, no servers. This conversion re-encodes Windows Media Audio (typically wmav2) into the AAC codec, producing a file that plays natively on iPhones, iPads, Android devices, and modern web browsers, replacing a Microsoft-proprietary format with one of today's most universally supported audio standards.

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

WMA files encode audio using Microsoft's wmav2 (or older wmav1) codec inside an ASF container. Because AAC uses a completely different compression algorithm, this conversion cannot simply remux the stream — FFmpeg must fully decode the WMA audio back to raw PCM samples and then re-encode those samples using the AAC codec. This is a lossy-to-lossy transcode: quality is governed by the target bitrate (defaulting to 128k), and since the audio has already been compressed once, some generation loss is inevitable. The output is a raw AAC bitstream in an ADTS container (.aac), which is lightweight and broadly compatible with Apple and Android ecosystems. Any ID3-style metadata embedded in the WMA file may not carry over cleanly, as WMA stores tags in ASF-specific attributes that don't map 1:1 to AAC's metadata model.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary. In this browser tool, FFmpeg runs entirely via WebAssembly (FFmpeg.wasm) inside your browser — no data leaves your device.
-i input.wma Specifies the input file. FFmpeg detects the ASF container and the wmav2 (or wmav1) audio codec automatically from the file's header, so no additional format hints are needed for standard WMA files.
-c:a aac Selects AAC as the output audio codec using FFmpeg's built-in encoder. Since the source is wmav2 and the target is AAC — two entirely different compression algorithms — FFmpeg must fully decode and re-encode the audio rather than simply copying the stream.
-b:a 128k Sets the AAC encoder's target bitrate to 128 kilobits per second, which is the standard default for general-purpose music and speech content. Raising this to 192k or 256k will improve quality at the cost of a larger file; lowering it to 96k or 64k saves space but increases compression artifacts.
output.aac Defines the output filename and format. The .aac extension tells FFmpeg to write a raw ADTS AAC bitstream, which is directly playable on iOS, Android, and most modern audio players without any additional container wrapping.

Common Use Cases

  • Transferring a library of purchased WMA music files to an iPhone or iPad, which cannot play WMA natively in the Music app or most iOS audio players
  • Making WMA audio files compatible with web-based HTML5 audio players, which support AAC but not WMA in any major browser
  • Preparing audio content originally recorded or distributed in WMA format for upload to podcast platforms like Apple Podcasts, which accept AAC but reject WMA
  • Converting WMA audiobooks or lectures downloaded from older digital distribution services so they play back on modern Android or Bluetooth devices without requiring a third-party codec
  • Stripping Microsoft DRM-free WMA files into a more portable AAC format before archiving or sharing with collaborators who use macOS or iOS tools
  • Developers testing audio pipelines or mobile apps who need AAC samples but only have WMA source files available

Frequently Asked Questions

Because both WMA and AAC are lossy formats, transcoding between them introduces a second round of compression artifacts — a phenomenon called generation loss. At 128k AAC, most listeners will not notice a significant difference on typical music or speech content, but critical listeners on high-quality audio may detect subtle artifacts. To minimize quality loss, choose the highest bitrate your use case allows (192k or 256k), since AAC is generally more efficient than wmav2 and can sound comparable at the same bitrate.
Some WMA files distributed by older online music stores (such as early Microsoft PlaysForSure services) contain Digital Rights Management (DRM) protection, which prevents playback and conversion by unauthorized software. FFmpeg cannot decode DRM-protected WMA files — attempting to convert one will result in an error or a silent/corrupted output. Only DRM-free WMA files can be converted with this tool. You can check whether your file is DRM-protected by examining its properties in Windows Explorer; protected files will show a lock icon or a 'Protected' license field.
Yes. AAC is natively supported on all iOS and macOS devices via Apple's Core Audio framework, and Android has supported AAC playback natively since version 2.3 (Gingerbread). This makes AAC one of the few audio formats with true universal mobile compatibility, unlike WMA, which requires third-party apps on both iOS and macOS. The .aac output from this tool will open directly in the iPhone's Files app, Apple Music, and most Android media players without any additional codecs.
Metadata preservation depends on how the tags are stored. WMA files use ASF (Advanced Systems Format) attribute pairs for metadata, while AAC files typically store tags differently. FFmpeg will attempt to map common fields like title, artist, and album to the output, but some WMA-specific attributes (such as WM/Provider or WM/UniqueFileIdentifier) have no AAC equivalent and will be dropped. It is advisable to verify metadata in a tag editor like MusicBrainz Picard or mp3tag after conversion and re-enter any missing fields manually.
The bitrate is controlled by the -b:a flag in the command. To increase quality, replace 128k with a higher value such as 192k or 256k: ffmpeg -i input.wma -c:a aac -b:a 192k output.aac. For speech-only content like audiobooks or podcasts where file size matters more than fidelity, you can reduce it to 96k or even 64k without a dramatic loss in intelligibility. Keep in mind that setting a bitrate higher than the source WMA's original bitrate will not recover lost detail — it only inflates the file size.
The command shown converts a single file, but on a desktop you can loop it using shell scripting. On Linux or macOS, run: for f in *.wma; do ffmpeg -i "$f" -c:a aac -b:a 128k "${f%.wma}.aac"; done. On Windows PowerShell, use: Get-ChildItem *.wma | ForEach-Object { ffmpeg -i $_.FullName -c:a aac -b:a 128k ($_.BaseName + '.aac') }. This is especially useful for large WMA libraries, and since the browser tool supports files up to 1GB, you would batch-process only using desktop FFmpeg for very large collections.

Technical Notes

This conversion uses FFmpeg's built-in AAC encoder (codec identifier: aac), which produces ADTS-framed AAC output in a raw .aac container. An alternative is the libfdk_aac encoder, widely considered higher quality at equivalent bitrates, but it requires a custom FFmpeg build with FDK-AAC support enabled due to licensing constraints — most pre-built FFmpeg binaries, including FFmpeg.wasm, use the native aac encoder by default. The source WMA codec is almost always wmav2 (introduced with Windows Media Audio 8), though very old files may use wmav1, which FFmpeg also decodes correctly. Neither WMA nor AAC supports subtitles, chapters, or multiple audio tracks, so no content is silently dropped during conversion. One notable limitation: the output .aac file is a raw ADTS stream, not wrapped in an MP4/M4A container. If you need iTunes library compatibility or chapter support, consider converting to M4A instead, which wraps the same AAC audio in an MPEG-4 container. File size after conversion will typically be similar to the original WMA at matching bitrates, as both formats achieve comparable compression efficiency, though AAC generally has a slight edge in quality-per-bit over wmav2.

Related Tools