Extract Audio from MKV to CAF — Free Online Tool

Extract audio from an MKV file and save it as a CAF file using 16-bit PCM — Apple's lossless, uncompressed audio format designed for macOS and iOS workflows. This conversion strips the video stream entirely and rewrites the raw audio data into Core Audio Format, making it ideal for professional Apple audio pipelines that require high-fidelity, uncompressed source material.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

MKV files commonly carry audio encoded in formats like AAC, MP3, Opus, Vorbis, or FLAC. During this conversion, the video stream is completely discarded using the -vn flag. The audio stream is then decoded from whatever codec it was stored in inside the MKV and re-encoded into PCM signed 16-bit little-endian (pcm_s16le) — raw, uncompressed pulse-code modulation audio — and wrapped in a CAF container. Unlike a simple remux, this is a full transcode of the audio: the original codec is decoded to raw audio samples, which are then written as uncompressed PCM. CAF was designed by Apple specifically to overcome the 4GB file size limit of WAV and AIFF, so even very long uncompressed audio tracks can be stored without truncation.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, the open-source multimedia processing engine that handles decoding the MKV input, transcoding the audio stream, and writing the CAF output — the same engine running in your browser via WebAssembly.
-i input.mkv Specifies the input Matroska file, which may contain one or more video streams, audio streams, subtitle tracks, chapters, and metadata — all of which FFmpeg reads and makes available for selective output.
-vn Disables all video output, telling FFmpeg to ignore any video streams present in the MKV entirely. Since CAF is a pure audio container, this flag ensures no video data is processed or written, speeding up the conversion and producing a clean audio-only file.
-c:a pcm_s16le Sets the audio codec to PCM signed 16-bit little-endian, which is uncompressed raw audio — the same format used on audio CDs. Regardless of whether the MKV's audio was AAC, Vorbis, Opus, FLAC, or MP3, it is fully decoded and rewritten as uncompressed PCM samples inside the CAF container, ensuring maximum compatibility with Apple's Core Audio framework.
-b:a 128k Specifies a target audio bitrate of 128 kilobits per second, but this flag has no practical effect when using a PCM codec because PCM audio is uncompressed and its bitrate is fixed by the sample rate and bit depth, not a compression target. It is included by default but can be safely omitted for this specific conversion.
output.caf Defines the output filename and signals to FFmpeg that the file should be wrapped in Apple's Core Audio Format container. FFmpeg infers the CAF muxer from the .caf extension, which is what allows the uncompressed pcm_s16le audio stream to be stored in a format natively readable by macOS and iOS audio tools.

Common Use Cases

  • Importing dialogue or music from an MKV video file into Logic Pro or GarageBand, which natively support CAF without requiring additional codecs
  • Archiving the uncompressed audio track from an MKV film or documentary into CAF for use as a pristine source file before mastering or editing in an Apple audio workstation
  • Preparing audio extracted from MKV screen recordings or lecture captures for transcription or voiceover work in macOS tools like Final Cut Pro
  • Converting an MKV audiobook or podcast episode stored in a lossless codec like FLAC to uncompressed PCM in CAF format for compatibility with Apple's Core Audio APIs in custom iOS/macOS app development
  • Extracting a high-fidelity stereo or surround audio track from an MKV Blu-ray rip into CAF for use as a reference track in professional sound design or post-production on Apple hardware

Frequently Asked Questions

It depends on the source audio codec in the MKV. If the original MKV audio is a lossy format like AAC, MP3, Opus, or Vorbis, the conversion will decode that lossy audio and store it as uncompressed PCM — but the quality loss introduced by the original lossy encoding cannot be recovered. If the MKV audio is already lossless (such as FLAC or PCM), transcoding to pcm_s16le in CAF is effectively a lossless operation, preserving full fidelity. In no case does this conversion add further lossy compression, since PCM itself is uncompressed.
CAF supports a range of codecs, but not all codecs found in MKV files — such as libvorbis or libopus — are compatible with the CAF container in most Apple toolchains. Using pcm_s16le as the output codec ensures universal compatibility with Apple's Core Audio framework and applications like Logic Pro, GarageBand, and Final Cut Pro. It also guarantees the output is a clean, unambiguous uncompressed file that any audio tool can read without needing to decode a proprietary or open-source codec.
No. CAF is a pure audio container and does not support subtitles, chapter markers, or video streams. All of these are silently dropped during the conversion. If preserving MKV chapter data is important for your workflow, you should extract that metadata separately before converting, as it cannot be embedded in a CAF file.
By default, FFmpeg selects the first audio track (or the one it identifies as the best default stream) when no explicit stream mapping is specified. If your MKV contains multiple audio tracks — such as a director's commentary alongside the main soundtrack — and you need a specific one, you should add a -map flag to the command, for example -map 0:a:1 to select the second audio track. The browser tool processes the default stream automatically.
To change the bit depth, replace pcm_s16le with an alternative PCM codec supported by CAF, such as pcm_s24le for 24-bit audio or pcm_s32le for 32-bit integer audio — for example: ffmpeg -i input.mkv -vn -c:a pcm_s24le output.caf. To resample the audio to a different sample rate, add the -ar flag, such as -ar 48000 for 48 kHz or -ar 96000 for 96 kHz high-resolution audio. These options are particularly useful when preparing audio for professional Apple audio tools that expect specific session sample rates.
Yes. On macOS or Linux, you can use a shell loop to process multiple files: for f in *.mkv; do ffmpeg -i "$f" -vn -c:a pcm_s16le "${f%.mkv}.caf"; done. On Windows Command Prompt, use: for %f in (*.mkv) do ffmpeg -i "%f" -vn -c:a pcm_s16le "%~nf.caf". The browser-based tool processes one file at a time, so the FFmpeg command displayed on this page is especially useful for batch workflows involving many large MKV files.

Technical Notes

CAF (Core Audio Format) stores audio as pcm_s16le in this conversion — meaning signed 16-bit integers in little-endian byte order, the same bit depth as standard CD audio. This is a completely lossless, uncompressed representation of the audio waveform, making CAF files significantly larger than the original MKV if the source used a compressed codec like AAC or Vorbis. For a 1-hour stereo audio track at 44.1 kHz, a pcm_s16le CAF file will be approximately 600–650 MB, compared to roughly 50–100 MB for a 128k AAC stream. One of CAF's key advantages is its 64-bit file size support, meaning it is not subject to the 4 GB limitation that affects WAV files — making it practical for very long uncompressed recordings. The -b:a bitrate parameter has no meaningful effect when using PCM codecs, since PCM bitrate is determined entirely by sample rate and bit depth rather than a compression target. Metadata embedded in the MKV (such as title or artist tags) may not transfer cleanly to CAF, as CAF uses Apple's own metadata chunk format and FFmpeg's support for writing CAF metadata is limited. CAF files are natively readable on macOS and iOS but are not widely supported on Windows or Linux without third-party libraries, so this format is most appropriate for Apple-ecosystem workflows.

Related Tools