Extract Audio from MKV to AAC — Free Online Tool
Extract the AAC audio track from an MKV file and save it as a standalone .aac file — with no re-encoding required when the source audio is already AAC. Since MKV commonly uses AAC as its default audio codec, this tool can simply demux the audio stream directly, preserving the original quality without any lossy transcoding.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MKV 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
MKV is a container format that wraps one or more audio, video, and subtitle streams into a single file. This tool strips away everything except the audio, discarding all video streams entirely (no video decoding or encoding occurs). When the MKV's audio track is already encoded in AAC — which is common, since AAC is one of MKV's most frequently used audio codecs — the audio bitstream is extracted and written directly into the .aac output file. If the source audio is in a different codec such as Opus, Vorbis, or FLAC, it must be transcoded into AAC using FFmpeg's built-in AAC encoder at the specified bitrate, which introduces a generation of lossy compression. The output is a raw AAC audio file (ADTS-framed), not wrapped in a container like MP4/M4A, making it a bare audio bitstream.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary. In the browser-based version of this tool, this runs via FFmpeg.wasm compiled to WebAssembly, so no installation is needed and no files leave your device. |
-i input.mkv
|
Specifies the input file — an MKV container that may hold video, audio (AAC, Opus, Vorbis, FLAC, or MP3), subtitles, and chapter metadata. FFmpeg reads all streams from this file before applying the filters defined by subsequent flags. |
-vn
|
Disables video output entirely, telling FFmpeg to ignore all video streams in the MKV. This is essential for audio extraction — without it, FFmpeg would attempt to include the video in the output, which a bare .aac file cannot contain. |
-c:a aac
|
Sets the audio codec to AAC using FFmpeg's built-in encoder. If the MKV's audio is already AAC, FFmpeg may copy the stream directly; combined with the -b:a flag forcing a bitrate, it encodes to AAC at the specified quality targeting the .aac ADTS output format. |
-b:a 128k
|
Sets the target audio bitrate to 128 kilobits per second, which is the standard default for AAC and delivers near-transparent stereo quality for most content. Increasing this to 192k or 256k improves fidelity, while 96k or 64k reduces file size at the cost of audio quality. |
output.aac
|
The output filename with the .aac extension, which tells FFmpeg to write a raw AAC ADTS bitstream — a containerless audio file. Unlike .m4a, this format carries no metadata wrapper, but it is directly playable in most media players and streamable environments that support AAC. |
Common Use Cases
- Pull the audio commentary track from an MKV movie rip to listen to it separately on a device that doesn't support MKV playback
- Extract a recorded lecture or presentation stored as an MKV screencast into AAC for uploading to a podcast platform or learning management system
- Isolate the AAC audio from an MKV video to import it into a video editor's audio timeline without carrying along the full video file
- Convert an MKV with a FLAC or Opus audio track into AAC for playback on an iPhone, Apple TV, or iTunes, which natively supports AAC but not all MKV audio codecs
- Create a lightweight audio-only version of a large MKV video file to share or archive when the visual content is irrelevant
- Extract game capture or OBS recording audio saved in MKV format into AAC for use as background music or sound effects in a video project
Frequently Asked Questions
It depends on what audio codec is already inside the MKV. If the MKV contains an AAC audio track — which is common — the audio bitstream is demuxed directly into the .aac file with zero quality loss, because no decoding or re-encoding takes place. However, if the MKV uses a different codec like Opus, Vorbis, or FLAC, FFmpeg must decode and re-encode the audio to AAC, which introduces a new round of lossy compression even if the original was lossless.
A raw .aac file uses the ADTS (Audio Data Transport Stream) format, which is a headerless bitstream without a container wrapper. An .m4a file is essentially AAC audio wrapped inside an MP4 container, which adds metadata and chapter support. The FFmpeg command here targets a bare .aac output, which is widely compatible for audio playback but lacks container-level features like embedded cover art or track titles. If you need those features, wrapping the output in .m4a is an alternative.
By default, FFmpeg selects the first (default) audio stream in the MKV and extracts only that one into the .aac file. AAC as a raw format does not support multiple audio tracks — it holds a single audio stream. If you need a specific non-default track, you would add a stream selector flag like -map 0:a:1 to the command to pick the second audio track by index.
The bitrate is controlled by the -b:a flag in the command. The default is 128k, which is a reasonable balance of quality and file size for stereo AAC. You can increase it to 192k or 256k for higher quality, or lower it to 96k or 64k for smaller files — for example: ffmpeg -i input.mkv -vn -c:a aac -b:a 192k output.aac. Note that increasing the bitrate beyond what the source audio contains will not recover lost detail if the original was already lossy.
No. The raw .aac format is a pure audio bitstream with no container structure to hold subtitles, chapters, or rich metadata — all of that is discarded during extraction. The MKV's subtitle tracks and chapter markers exist at the container level, not within the audio stream itself, so they have nowhere to go in a bare .aac output. If preserving chapters or metadata is important, consider outputting to .m4a instead, which supports those features within its MP4 container.
Yes. On Linux or macOS you can loop over files in a shell: for f in *.mkv; do ffmpeg -i "$f" -vn -c:a aac -b:a 128k "${f%.mkv}.aac"; done. On Windows Command Prompt, use: for %f in (*.mkv) do ffmpeg -i "%f" -vn -c:a aac -b:a 128k "%~nf.aac". This is especially useful for processing large collections of MKV files that exceed the 1GB browser limit, since the command runs natively on your desktop without any file size restriction.
Technical Notes
The FFmpeg command targets a raw AAC ADTS bitstream output, which differs meaningfully from the more common .m4a (AAC in MP4 container) approach. ADTS-framed .aac files are broadly playable in VLC, Windows Media Player, and most mobile players, but some software — particularly digital audio workstations and professional editing tools — may prefer .m4a. The built-in FFmpeg AAC encoder (aac) is used here rather than libfdk_aac, which is a higher-quality third-party encoder but requires a separately compiled FFmpeg build due to licensing restrictions; the native aac encoder is more than adequate at 128k and above for most use cases. MKV files frequently carry multi-channel audio (5.1 or 7.1 surround), and the AAC encoder will preserve the channel layout in the output. One known limitation: if the MKV source uses FLAC (lossless) audio and you transcode to AAC at 128k, you are permanently reducing quality — there is no way to recover the lossless data from the resulting .aac file. For archival use cases where the source is lossless, consider whether AAC at a higher bitrate (256k or 320k) is acceptable, or whether preserving the FLAC stream in a different container is preferable.