Convert M4A to OGG — Free Online Tool
Convert M4A files (Apple's AAC-based audio format) to OGG Vorbis, an open-source audio format that plays natively in Firefox, Chrome, and Linux media players without licensing restrictions. The conversion re-encodes the AAC audio stream into Vorbis using FFmpeg's libvorbis encoder at a variable-quality setting equivalent to roughly 128–160 kbps.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your M4A 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
M4A files store audio in an MPEG-4 container, almost always encoded with AAC — a proprietary, patent-encumbered codec. OGG is Xiph.Org's open container format, and it cannot carry an AAC stream, so this conversion cannot simply remux the audio. Instead, FFmpeg fully decodes the AAC audio to raw PCM in memory, then re-encodes it into Vorbis using the libvorbis encoder. This is a lossy-to-lossy transcode, meaning a small amount of additional quality is lost each generation — the output will not be audibly identical to the original source, though at the default quality setting the difference is subtle for most material. Chapter metadata present in the M4A file can be preserved in the OGG container, and standard ID3-style tags (title, artist, album) are remapped to Vorbis comment fields automatically by FFmpeg.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool. In the browser version of this tool, this runs via FFmpeg.wasm — a WebAssembly port of FFmpeg — so your M4A file is processed entirely on your device without being uploaded anywhere. |
-i input.m4a
|
Specifies the input file — your M4A audio file. FFmpeg reads the MPEG-4 container, identifies the AAC audio stream inside it, and prepares it for decoding and re-encoding. |
-c:a libvorbis
|
Tells FFmpeg to encode the audio stream using the libvorbis encoder, producing Vorbis audio — the codec native to the OGG container. Because AAC cannot be placed in an OGG container, this re-encode step is mandatory and unavoidable for this format pair. |
-q:a 4
|
Sets the Vorbis encoder to quality level 4 on a 0–10 scale, which targets a variable bitrate of roughly 128–160 kbps on average. This is the standard default quality for Vorbis and produces a good balance between file size and audio fidelity for music and podcasts. |
output.ogg
|
Specifies the output filename with the .ogg extension. FFmpeg uses this extension to automatically select the OGG container format, which wraps the newly encoded Vorbis audio stream along with any metadata remapped from the original M4A file. |
Common Use Cases
- Uploading music or spoken-word audio to a website that requires an open, royalty-free format — OGG Vorbis is the preferred audio format for HTML5 audio elements in open-source and non-commercial web projects.
- Playing iTunes-purchased or Apple Podcasts-downloaded M4A files on a Linux desktop (e.g., Ubuntu, Fedora) where AAC decoder support may be limited or require proprietary packages, while OGG Vorbis plays out of the box.
- Distributing audio content through platforms like Bandcamp, itch.io, or open-source game engines (Godot, for example, natively supports OGG Vorbis) that work better with or exclusively support OGG.
- Contributing audio assets to Wikipedia or Wikimedia Commons, which requires OGG Vorbis or OGG Opus as the accepted open audio formats and does not accept AAC or M4A files.
- Converting an audiobook downloaded in M4A format (with chapter markers) to OGG for playback in an open-source player like VLC or Rhythmbox while retaining chapter navigation.
- Archiving a podcast episode received in M4A to an open, non-proprietary format as part of a long-term digital preservation workflow that avoids patent-encumbered codecs.
Frequently Asked Questions
Yes, to a small degree. Since M4A typically contains AAC audio (a lossy codec) and OGG Vorbis is also lossy, this is a generation-loss transcode — the audio is decoded from AAC and then re-encoded as Vorbis, introducing a second round of lossy compression artifacts. At the default quality setting (-q:a 4, roughly 128–160 kbps), the quality loss is subtle and unlikely to be noticeable on typical listening hardware. However, if audio fidelity is critical, you should always work from a lossless source (FLAC or WAV) rather than transcoding between lossy formats.
Vorbis uses a variable bitrate (VBR) quality scale by default, where -q:a sets a target quality level from 0 (lowest) to 10 (highest) rather than a fixed bitrate. This is fundamentally different from AAC's -b:a bitrate targeting used in M4A. A -q:a 4 setting produces roughly 128–160 kbps on average, adapting the bitrate up or down depending on the complexity of the audio signal — quieter or simpler passages use fewer bits, while complex passages use more. This generally produces better results than a strict fixed bitrate at equivalent file sizes.
FFmpeg will attempt to carry over chapter metadata from the M4A container to the OGG container, and OGG does support a chapter structure. In practice, chapter preservation depends on how the chapters were encoded in the original M4A — standard iTunes chapter format is usually detected and remapped. However, not all OGG-compatible players (such as VLC or Rhythmbox) fully expose OGG chapter navigation in their user interfaces, even if the data is present in the file.
Adjust the value after -q:a to any integer from 0 to 10. For example, use -q:a 6 for higher quality (roughly 192–224 kbps average) or -q:a 2 for a smaller file at lower quality (around 96 kbps average). The full command with higher quality would be: ffmpeg -i input.m4a -c:a libvorbis -q:a 6 output.ogg. Avoid going above -q:a 8 unless you have a specific reason, as the file size increases significantly with diminishing perceptible returns when the source is already a lossy M4A.
The command shown processes one file at a time, but you can easily batch process on the command line. On Linux or macOS, use: for f in *.m4a; do ffmpeg -i "$f" -c:a libvorbis -q:a 4 "${f%.m4a}.ogg"; done. On Windows PowerShell, use: Get-ChildItem *.m4a | ForEach-Object { ffmpeg -i $_.FullName -c:a libvorbis -q:a 4 ($_.BaseName + '.ogg') }. This is especially useful for converting a full iTunes music library or a folder of podcast episodes in one pass.
No — Apple's iOS and macOS do not include native OGG Vorbis support. Apple's ecosystem is built around AAC (the codec inside M4A), and the company has no incentive to support the competing open format. If you need audio that plays on iPhones or in Safari, M4A/AAC is already your best format and converting to OGG would be counterproductive. OGG Vorbis is best suited for Android devices, Linux desktops, Firefox/Chrome web playback, and open-source software ecosystems.
Technical Notes
The libvorbis encoder used here is the reference Vorbis encoder from Xiph.Org, which produces fully spec-compliant OGG Vorbis files. One important detail when converting from M4A: AAC and Vorbis have different psychoacoustic models and different ways of representing high-frequency content, so the re-encoded Vorbis file may sound slightly different — not just 'worse' — from the M4A original, even at equivalent bitrates. Vorbis is generally considered to outperform AAC at lower bitrates (below 128 kbps), but at 128 kbps and above the difference is negligible for most listeners. ID3/iTunes metadata tags (artist, album, track number, cover art) are automatically remapped by FFmpeg to Vorbis comment format, though embedded album artwork is not always reliably transferred to OGG. If your M4A uses Apple's FairPlay DRM (common with older iTunes Store purchases), FFmpeg cannot decode the audio stream and the conversion will fail — only DRM-free M4A files can be converted. The OGG container supports multiple audio tracks, though this converter outputs a single stereo or mono stream matching the input channel layout.