Convert MKV to AAC — Free Online Tool
Extract and convert the audio track from an MKV file into a standalone AAC file using FFmpeg's native AAC encoder at 128k bitrate. AAC delivers better sound quality than MP3 at equivalent bitrates, making this ideal when you need a compact, widely compatible audio file from a Matroska video container.
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 video, audio, subtitle, and chapter tracks together. During this conversion, FFmpeg discards the video, subtitle, and chapter data entirely and extracts only the first audio track. If that audio track is already AAC-encoded inside the MKV, it must still be re-encoded because the output is a raw AAC file (.aac), not a container — and raw AAC files cannot simply stream-copy from a container without re-wrapping. FFmpeg's built-in AAC encoder transcodes the audio to a new AAC bitstream at 128k bitrate. The result is a pure audio file with no container overhead, no video data, and no subtitle or chapter metadata.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program. In the browser-based tool, this runs via FFmpeg.wasm (WebAssembly), so no installation is required and no files leave your device. |
-i input.mkv
|
Specifies the input Matroska file, which may contain video, audio, subtitle, and chapter streams. FFmpeg will read all streams but only the audio will be used in this conversion. |
-c:a aac
|
Tells FFmpeg to encode the audio stream using its built-in AAC encoder, producing an Advanced Audio Coding bitstream suitable for the .aac output file. This replaces whatever codec the original MKV audio used — whether that was AAC, Opus, MP3, FLAC, or another format. |
-b:a 128k
|
Sets the target audio bitrate to 128 kilobits per second, which is the default for this tool. At 128k, AAC provides good perceptual quality for speech and music with a moderate file size; increase this to 192k or 256k for higher fidelity, or lower it to 96k for smaller files. |
output.aac
|
Defines the output file as a raw AAC bitstream in ADTS format. The .aac extension tells FFmpeg to write a headerless audio stream rather than wrapping the audio in a container like MP4 or M4A, which also means video, subtitles, and chapter data from the MKV are automatically excluded. |
Common Use Cases
- Extract the audio commentary or narration track from an MKV screen recording to use as a standalone podcast episode or voiceover file
- Pull the soundtrack from an MKV movie or TV episode rip into AAC format for playback on an iPhone, iPad, or iPod via iTunes or Apple Music
- Convert an MKV lecture or educational video into an AAC audio file so students can listen offline on mobile devices without streaming the full video
- Separate the AAC audio from an MKV game capture to upload as a background music or sound effects clip to an iOS-compatible app or game project
- Strip audio from a large MKV file to produce a smaller AAC file for embedding in a web page or HTML5 audio player, which natively supports AAC playback
- Archive only the audio portion of an MKV concert recording in AAC format to save storage space while maintaining good perceptual quality at a manageable file size
Frequently Asked Questions
Yes, there will be a generation of quality loss even if the original audio inside the MKV was already AAC-encoded. Because the output is a raw .aac bitstream file rather than a container, FFmpeg cannot perform a lossless stream copy — it must decode and re-encode the audio. Each encode/decode cycle introduces additional lossy compression artifacts. If your goal is to avoid re-encoding, consider remuxing to an M4A container instead, which can hold an AAC stream without transcoding.
Raw AAC files have very limited metadata support compared to container formats like MKV or M4A. While FFmpeg will attempt to carry over basic tags, much of the rich metadata stored in the MKV — including chapter markers, multiple audio track labels, subtitle track information, and embedded attachments — is lost entirely. If preserving metadata is important, consider outputting to M4A (an MPEG-4 container for AAC audio), which supports ID3-style tags and is still widely compatible.
They are all discarded. FFmpeg's output specification here is a .aac file, which is a raw audio bitstream format with no concept of video streams, subtitle tracks, or chapter metadata. Only the first audio stream from the MKV is selected by default and encoded into the output. If your MKV has multiple audio tracks and you want a specific one, you would need to add a stream selector like -map 0:a:1 to the command to choose the second audio track.
Replace the 128k value in the -b:a 128k flag with your desired bitrate. For example, use -b:a 192k or -b:a 256k for higher quality at larger file sizes, or -b:a 96k for a smaller file with more noticeable compression. AAC generally delivers transparent quality for most listeners at 128k and above, but for music archival or high-fidelity use, 192k–256k is recommended. The full command would look like: ffmpeg -i input.mkv -c:a aac -b:a 192k output.aac
On Linux or macOS, you can use a shell loop: for f in *.mkv; do ffmpeg -i "$f" -c:a aac -b:a 128k "${f%.mkv}.aac"; done. On Windows Command Prompt, use: for %f in (*.mkv) do ffmpeg -i "%f" -c:a aac -b:a 128k "%~nf.aac". This iterates over every MKV file in the current directory and produces a matching AAC file for each one.
AAC is generally the better choice for modern use. At the same bitrate — such as 128k — AAC produces noticeably better audio quality than MP3 due to its more advanced compression algorithm. AAC is natively supported on all Apple devices, Android, most smart TVs, web browsers, and streaming platforms. MP3 has slightly broader legacy device compatibility, but for any use case involving a device made in the last decade, AAC is the superior option for both quality and file size efficiency.
Technical Notes
The FFmpeg native AAC encoder (-c:a aac) used in this command is a solid general-purpose encoder, though it is considered slightly inferior in quality at very low bitrates compared to the optional libfdk_aac encoder, which is not included in most standard FFmpeg builds due to licensing restrictions. At 128k and above, the quality difference is negligible for most listeners. The output .aac file is a raw ADTS (Audio Data Transport Stream) bitstream, which differs from M4A — an MPEG-4 container that wraps the same AAC audio. Raw AAC files may not be supported by all players that claim AAC compatibility, since some players expect the M4A container wrapper; if you encounter playback issues, remuxing to M4A by changing the output extension is often the fix. This conversion selects only the first audio stream from the MKV by default; MKV files with multiple audio tracks (e.g., original language plus dubbed tracks) will silently drop all but the first unless you explicitly use -map flags. Bitrate-based quality control (-b:a) is used rather than VBR quality modes because FFmpeg's native AAC encoder has inconsistent VBR quality scaling; for consistent, predictable results, CBR bitrate targeting is the more reliable approach.