WMA to Opus Converter

Drop a WMA file to inspect its metadata, choose a target Opus bitrate, and copy a ready-to-run FFmpeg command — nothing is uploaded.

Inspect WMA Metadata

Drop or select any audio file. It is decoded locally in your browser — no data is uploaded to any server.

FFmpeg Command Generator

ffmpeg -i "input.wma" -c:a libopus -b:a 96k -vbr on -map_metadata 0 "input.opus"

Install FFmpeg free at ffmpeg.org. Run this command in your terminal after replacing the file name.

Batch convert WMA files (Linux / macOS)

for f in *.wma; do ffmpeg -i "$f" -c:a libopus -b:a 96k -vbr on -map_metadata 0 "${f%.wma}.opus"; done

Batch convert WMA files (Windows PowerShell)

Get-ChildItem *.wma | ForEach-Object { ffmpeg -i $_.FullName -c:a libopus -b:a 96k -vbr on -map_metadata 0 ($_.BaseName + ".opus") }
Output File Size Estimator

Enter audio duration below, or inspect a file above to auto-fill.

hrs

min

sec

Formula: bitrate (kbps) × duration (s) / 8000

32 kbps

64 kbps

96 kbps

48 kbps

128 kbps

Duration: 3 min 30 sec (210 s)

Why No In-Browser Conversion?

Browsers expose the Web Audio API for decoding audio, but they do not include an Opus encoder, and WMA decoding is not universally supported. FFmpeg bundles a WMA decoder and libopus and handles the full pipeline:

  1. 1 FFmpeg opens the WMA container (ASF) and reads the compressed audio stream.
  2. 2 The WMA decoder decompresses the stream to raw PCM audio in memory.
  3. 3 libopus re-encodes the PCM data to Opus at the bitrate you specify.
  4. 4 FFmpeg wraps the Opus stream in an OGG container and writes the .opus file to disk.

Install FFmpeg at ffmpeg.org (free, open-source). On Linux: sudo apt install ffmpeg. On macOS: brew install ffmpeg.

Opus Bitrate Reference

Bitrate Quality Size / min Best For
24 kbps Acceptable ~0.18 MB Voice calls, minimal bandwidth
32 kbps Good ~0.24 MB Podcasts, audiobooks, speech
48 kbps Very Good ~0.36 MB Speech, transparent for voice
64 kbps Excellent ~0.48 MB Casual music listening
96 kbps Near-transparent ~0.72 MB General music, headphones
128 kbps Transparent ~0.96 MB Audiophile, archival Opus

WMA vs. Opus — At a Glance

WMA (Windows Media Audio)

  • Default codec for Windows Media Player and older Xbox
  • Supported by most Windows software and some car stereos
  • Proprietary Microsoft format, not royalty-free
  • Lower quality than Opus at equivalent bitrates
  • Not natively supported on macOS, iOS, or Linux without extra codecs

Opus (RFC 6716, libopus)

  • Outperforms WMA at all common bitrates
  • Royalty-free and open-source (Xiph.org / IETF)
  • Native support in all major browsers and WebRTC
  • Not supported by older car stereos or dedicated audio players
  • Apple devices have limited native Opus support outside browsers
Copied!

Summary

Drop a WMA file to inspect its metadata, choose a target Opus bitrate, and copy a ready-to-run FFmpeg command — nothing is uploaded.

How it works

  1. Drop a WMA file onto the inspector panel (or click to browse).
  2. The Web Audio API reads the file sample rate, duration, and channel count locally in your browser.
  3. Choose a target Opus bitrate in the command generator — 96 kbps is a solid general-purpose choice.
  4. Optionally enable VBR mode (-vbr on) for better quality at the same average bitrate.
  5. Copy the generated FFmpeg command and run it in your terminal.
  6. Verify the output Opus file in a media player before deleting the original WMA.

Use cases

  • Convert a legacy WMA music library to Opus for efficient cross-platform storage.
  • Reduce podcast or audiobook file sizes significantly with Opus at 32–64 kbps versus WMA at 128 kbps.
  • Prepare audio for WebRTC applications or web streaming where Opus is natively supported.
  • Replace proprietary WMA files with royalty-free Opus audio for open-content projects.
  • Batch-convert an entire WMA folder to Opus using a single shell loop.
  • Inspect an unknown WMA file to confirm its duration and sample rate before processing.
  • Generate ready-to-paste FFmpeg commands without memorizing Opus encoder flags.
  • Estimate output file size at different Opus bitrates before committing to a large batch.

Frequently Asked Questions

Last updated: 2026-07-01 · Reviewed by Nham Vu