Convert OGG to AAC — Free Online Tool
Convert OGG (Vorbis/Opus) audio files to AAC format using FFmpeg.wasm — entirely in your browser, with no file uploads. This transcodes the open-format Ogg Vorbis stream into AAC, the lossy codec native to Apple devices, iTunes, and most modern streaming platforms.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your OGG 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
OGG files typically contain audio encoded with the Vorbis or Opus codec inside the Ogg container. Since AAC uses an entirely different codec and container, this conversion is a full transcode — the Vorbis or Opus audio stream is decoded to raw PCM audio, then re-encoded from scratch using FFmpeg's native AAC encoder at 128k bitrate by default. There is no way to 'remux' or copy the stream directly because AAC and Vorbis/Opus are fundamentally different encoding formats. The result is a standalone .aac file containing a single audio stream, compatible with Apple devices, iTunes, and most web and mobile platforms. Be aware that transcoding between two lossy formats (Vorbis → AAC) introduces a second generation of lossy compression, so starting from the highest-quality OGG source available is recommended.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which in this browser-based context runs as a compiled WebAssembly binary (FFmpeg.wasm) entirely within your browser tab — no data is sent to a server. |
-i input.ogg
|
Specifies the input file: an Ogg container holding a Vorbis or Opus audio stream. FFmpeg auto-detects the codec inside the OGG container, so this works whether your source uses Vorbis, Opus, or FLAC encoding. |
-c:a aac
|
Selects FFmpeg's built-in AAC encoder to re-encode the decoded audio. This fully transcodes the Vorbis or Opus audio into AAC — no stream copying is possible here because the codecs are incompatible. |
-b:a 128k
|
Sets the AAC output bitrate to 128 kilobits per second, which is the standard quality tier for AAC — roughly equivalent to 160k MP3 in perceived quality, and appropriate for music and voice content on Apple devices and streaming platforms. |
output.aac
|
Defines the output filename with a .aac extension, telling FFmpeg to write a raw ADTS AAC bitstream file — the format directly playable by iTunes, iOS, and most AAC-compatible hardware without an additional container wrapper. |
Common Use Cases
- Preparing podcast audio originally recorded in OGG format for submission to Apple Podcasts, which requires AAC or MP3 and does not natively support OGG files.
- Converting Ogg Vorbis music tracks ripped from open-source game soundtracks so they can be synced to an iPhone or iPad through iTunes or the Finder app.
- Transcoding OGG audio assets from a Linux-based audio workstation into AAC for use in iOS app development, where AAC is the preferred hardware-decoded format on Apple silicon.
- Converting voice recordings saved in OGG by open-source recorders (e.g., on Android) into AAC so they can be shared with iPhone users who cannot play OGG natively.
- Re-encoding an OGG audiobook file to AAC for playback in car infotainment systems or smart TVs that support AAC but lack an Ogg Vorbis decoder.
- Optimizing OGG audio files for use in a web project targeting Safari, which has historically had inconsistent OGG support but handles AAC natively via the HTML5 audio element.
Frequently Asked Questions
Yes, some quality loss is unavoidable. Both Ogg Vorbis and AAC are lossy codecs, so converting between them means decoding the Vorbis stream back to uncompressed audio and then re-encoding it with the AAC codec — a 'generation loss' process. The degree of degradation depends on your source file's quality and the output bitrate you choose. Using a higher AAC bitrate (192k or 256k) will minimize the perceptible loss, but for critical listening, it's always better to source the AAC from an original lossless file like FLAC or WAV if one is available.
No. While the Ogg container supports chapter metadata, the AAC format (as a raw .aac bitstream file) does not support chapters at all. Chapter information will be lost during this conversion. If chapter preservation is important to you, consider converting to the M4A container instead (which wraps AAC audio), as M4A supports iTunes-style chapter markers. However, that is a different output format not covered by this specific tool.
A raw AAC file can only contain a single audio stream, so only the first audio track from your OGG file will be included in the output. Any additional audio tracks will be silently dropped during conversion. If your OGG contains multiple tracks you need to preserve, you would need to run separate conversions for each track using the FFmpeg '-map' flag to select a specific stream.
Replace the value after '-b:a' in the command with your desired bitrate. For example, use '-b:a 192k' for higher quality or '-b:a 96k' for a smaller file size. Common AAC bitrate choices are 128k (standard quality, similar to 160k MP3), 192k (high quality, suitable for music), and 256k (near-transparent for most listeners). The default 128k is a practical balance between file size and fidelity for voice and general audio.
The libfdk_aac encoder is widely regarded as producing higher-quality AAC output than FFmpeg's native AAC encoder, especially at lower bitrates. To use it, replace '-c:a aac' with '-c:a libfdk_aac' in the command. However, libfdk_aac is not included in most pre-built FFmpeg binaries due to licensing restrictions, including the FFmpeg.wasm build used by this browser tool. If you need libfdk_aac output, you would need to compile FFmpeg from source locally with '--enable-libfdk-aac'.
The displayed command processes a single file, but you can batch convert in a shell using a simple loop. On Linux or macOS: 'for f in *.ogg; do ffmpeg -i "$f" -c:a aac -b:a 128k "${f%.ogg}.aac"; done'. On Windows Command Prompt: 'for %f in (*.ogg) do ffmpeg -i "%f" -c:a aac -b:a 128k "%~nf.aac"'. This will process every .ogg file in the current directory and output a corresponding .aac file, which is especially useful for large batches that exceed the 1GB browser limit.
Technical Notes
The conversion uses FFmpeg's built-in AAC encoder, which produces ADTS-framed AAC audio in a raw .aac bitstream container. This differs from the M4A/MP4 container, which wraps AAC in an MPEG-4 container with richer metadata support. Because the output is a raw AAC stream, metadata tags (title, artist, album) from the OGG source — stored as Vorbis Comments — will not be preserved in the output file; raw .aac files have very limited metadata support compared to M4A. The Ogg container's chapter support is also lost entirely. The default 128k bitrate is CBR (constant bitrate); FFmpeg's native AAC encoder does support VBR mode via '-q:a' (scale 1–5) if you run the command locally, but bitrate-based encoding is more predictable for compatibility. If your source OGG uses the Opus codec rather than Vorbis, FFmpeg will still decode it correctly before re-encoding to AAC, since both are handled transparently by the '-i' input flag. The native AAC encoder is fully patent-unencumbered for use in FFmpeg.wasm without any additional licensing concerns.