M4A to OPUS Converter
Convert M4A files to Ogg Opus encoded with libopus at a fixed 128 kbps and 48 kHz. Tags and chapter marks come across; there is no bitrate selector, so if you need 64 kbps or 256 kbps you will want ffmpeg on your own machine.
Download Started!
How would you rate your experience with MiConvert?
Why people move M4A audio to Opus
An M4A is an MP4 container, nearly always holding AAC audio from iTunes, a phone voice recorder or an export from an editing app. Opus is a newer open codec standardized in RFC 6716 and carried here inside an Ogg stream with the .opus extension, which is why some searches call it "ogg opus". It is handled natively by Android, Chrome, Firefox and VLC, while Apple software is the weak spot: Opus support on macOS and iOS is partial, so this is a conversion for web, Android and desktop playback rather than for an iTunes library.
The conversion runs on our servers with ffmpeg. The AAC (or ALAC) stream in your M4A is decoded, then encoded by libopus at 128 kbps. Opus operates internally at 48 kHz, and our pipeline resamples every input to that rate, so a 44.1 kHz album rip and a 96 kHz hi-res file both come out at 48 kHz. Channel layouts are kept as they are, including 5.1 from a surround M4A. One output file is produced per input, named after the original with the .opus extension.
Be clear-eyed about quality. This is a lossy-to-lossy conversion: the AAC data is decoded to audio, then thrown through a second lossy encoder. Opus is efficient enough that 128 kbps is transparent for most listeners on most material, but it cannot recover detail your M4A already lost, and the result is not an upgrade over the source. If the M4A happens to contain Apple Lossless, you are trading a lossless master for a lossy file, and FLAC would be the better target.
Metadata behaves well on this pair. Title, artist and album tags are written as Opus comments and survive the trip, and chapter markers in the MP4 are carried into the Ogg Opus output, which matters if you are converting a long recording or an audiobook-style file. Embedded cover art is the one thing always lost, because every picture stream is dropped during conversion.
How to convert M4A to Opus
- Drop your M4A files onto the upload box on this page, or pick them with the file chooser. Other audio files can go in the same batch, as long as the format supports Opus output; anything that does not is refused on drop.
- Check the size: 50 MB per file as a guest, 100 MB with a free account, 200 MB on Plus and 1 GB on Pro. An hour-long recording in AAC usually fits comfortably.
- If the M4A is a protected purchase (.m4p or an Apple Music download) it cannot be used, since the audio is encrypted. Export or re-download an unprotected copy first.
- Start the conversion. Files are uploaded, queued and encoded on our servers; typical music-length files finish in a couple of seconds once the upload is done.
- Download each .opus file from the result list. The links work for about four hours, and signed-in users can tick the email notification if they would rather not wait on the page.
What the M4A to Opus conversion does
- libopus encoding at 128 kbps, which is the setting the industry commonly treats as transparent for stereo music.
- Output resampled to 48 kHz, the rate Opus runs at natively, from any source rate including 44.1 and 96 kHz.
- Channel layout preserved, so stereo stays stereo and a 5.1 M4A keeps all six channels.
- Title, artist and album tags plus MP4 chapter marks are carried into the Opus file.
- Decodes ALAC and PCM inside M4A as well as AAC, so Apple Lossless files and voice memos both convert.
- Multiple files in one upload, each returned separately under its original base name.
M4A to Opus questions
What bitrate do I get, and can I change it?
Every file is encoded at 128 kbps and there is no quality, bitrate or sample-rate control on this page. If you need a different target, for example 64 kbps for speech archives or a VBR setting, run it locally: ffmpeg -i input.m4a -vn -c:a libopus -b:a 64k output.opus does the same job with your own numbers.
Is the ffmpeg command you use the same as what I would run myself?
Practically yes. The server runs ffmpeg 5.1 with picture streams disabled and libopus at 128 kbps, matching ffmpeg -i input.m4a -vn -c:a libopus -b:a 128k output.opus. No filters or normalization are applied.
Does converting M4A to Opus improve the sound?
No. Both are lossy, so you are re-encoding already-compressed audio and the result can only be equal or slightly worse than the source. Opus is more efficient per kilobit than AAC, which usually means a similar listening experience at a smaller size, but nothing is recovered.
Will the file be smaller than my M4A?
It depends entirely on your source. An M4A encoded at 256 kbps will shrink noticeably at 128 kbps; an M4A already at 96 or 128 kbps may come out about the same size or larger. We cannot promise a reduction ratio because the input bitrate varies.
Why is my 96 kHz file now 48 kHz?
Opus is defined around 48 kHz and our encoder always resamples to it. If keeping the original sample rate and bit depth matters, convert the M4A to FLAC instead, which keeps the sample rate, bit depth up to 24-bit and up to 8 channels.
Do chapters and cover art survive?
Chapters do, and so do title, artist and album tags. Embedded artwork does not: picture streams are dropped on every conversion, so an Opus file made here has no cover image.
How many files can I convert at once?
Up to 10 files per upload as a guest or with a free account, 25 on Plus and 50 on Pro. Free use is also capped at 10 conversion jobs per hour and two running at the same time from one IP address, and there is no combined ZIP download, so files are collected one by one.
What happens to my audio on your servers?
The conversion is server-side, not in your browser. Transfers use HTTPS, the uploaded M4A is deleted once the job finishes its final attempt, and the .opus output stays behind a random download token for about four hours before automatic deletion. File names, sizes and conversion outcomes are recorded in our logs, and a signed-in account keeps a history row for the conversion.