Convert WebM to CAF — Free Online Tool

Convert WebM video files to CAF (Core Audio Format) by extracting the audio stream and encoding it as uncompressed PCM — ideal for bringing web video audio into Apple's professional audio ecosystem. This tool strips the VP9 video and Opus audio from WebM and outputs a lossless 16-bit PCM CAF file ready for use in Logic Pro, GarageBand, or other Apple audio tools.

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

WebM files typically contain a VP9 video stream and an Opus audio stream (or occasionally Vorbis). CAF is an audio-only container, so this conversion discards the video entirely and transcodes the Opus audio to 16-bit signed little-endian PCM (pcm_s16le). Opus is a lossy codec, so the output PCM is a lossless representation of the decoded Opus signal — not a reconstruction of the original pre-encoding audio. The CAF container wraps this uncompressed audio in Apple's format, which supports arbitrarily large file sizes and integrates natively with CoreAudio on macOS and iOS. No re-encoding of a compressed codec happens; instead, Opus is fully decoded to raw PCM samples before being written into the CAF container.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary. In the browser-based tool, this runs via FFmpeg.wasm compiled to WebAssembly; the same command runs identically in a desktop FFmpeg installation.
-i input.webm Specifies the input WebM file. FFmpeg reads the container and detects the streams inside — typically a VP9 video stream and an Opus (or Vorbis) audio stream.
-c:a pcm_s16le Decodes the Opus (or Vorbis) audio from the WebM and re-encodes it as 16-bit signed little-endian uncompressed PCM, which is the standard uncompressed audio format expected by CoreAudio and Apple DAWs like Logic Pro.
-b:a 128k Specifies a target audio bitrate of 128 kbps. For PCM codecs like pcm_s16le, this flag has no practical effect — PCM bitrate is fixed by sample rate and bit depth — but it is included for consistency with the tool's interface and is safely ignored by FFmpeg in this context.
output.caf Defines the output filename and signals to FFmpeg that the container format is CAF (Core Audio Format). FFmpeg infers the CAF muxer from the .caf extension, and because CAF is audio-only, the VP9 video stream from the WebM is automatically discarded.

Common Use Cases

  • Importing audio from a WebM screen recording or web conference into Logic Pro or GarageBand for editing or mixing
  • Extracting the audio track from a WebM video downloaded from a web platform (such as YouTube or a browser-recorded session) for use in an Apple audio workflow
  • Preparing uncompressed audio from a WebM source file for use as a sample or sound effect in an iOS or macOS app via AVFoundation
  • Converting a WebM podcast or interview recording to CAF for archival in an uncompressed format compatible with Apple's CoreAudio pipeline
  • Providing a CAF file to a macOS audio post-production suite that does not natively read WebM or Opus streams
  • Decoding an Opus-encoded WebM audio track to uncompressed PCM for further processing or format analysis without any container-related compatibility issues on Apple hardware

Frequently Asked Questions

The Opus audio inside the WebM has already been lossy-compressed, so that quality loss is permanent and cannot be recovered. However, the conversion to pcm_s16le CAF does not introduce any additional lossy compression — Opus is fully decoded to raw PCM samples, so what you hear in the CAF file is an accurate, uncompressed representation of the decoded Opus audio. Think of it as 'freezing' the current quality into a lossless container rather than compressing it again.
The tool defaults to pcm_s16le because CAF is most commonly used in professional Apple audio workflows where uncompressed, bit-exact audio is expected — Logic Pro, GarageBand, and CoreAudio APIs all handle uncompressed CAF natively. If you need a smaller file, you can modify the FFmpeg command to use -c:a aac instead, which is another codec CAF supports. For archival or audio editing purposes, the uncompressed default is the safest choice.
Most metadata stored in the WebM container — such as title, artist tags, or chapter markers — will not carry over to CAF. The CAF format does support some metadata fields via its 'info' chunk, but FFmpeg does not automatically map WebM metadata to CAF metadata during this conversion. If preserving metadata is important, you should add it manually after conversion using a tool like afinfo or a DAW.
The VP9 video stream is completely discarded. No flag is needed to explicitly drop it because CAF is an audio-only container — FFmpeg automatically omits the video stream when the output format cannot carry video. The resulting CAF file contains only the decoded audio, with no reference to the original video content.
You can replace pcm_s16le with pcm_s24le for 24-bit audio or pcm_s32le for 32-bit integer audio, both of which CAF supports. For example: ffmpeg -i input.webm -c:a pcm_s24le output.caf. Choosing 24-bit is common in professional audio contexts where headroom for further processing is desired. Note that the -b:a bitrate flag has no effect on PCM codecs since their bitrate is determined entirely by sample rate and bit depth.
Yes. In a Unix shell (macOS Terminal or Linux), you can loop over files with: for f in *.webm; do ffmpeg -i "$f" -c:a pcm_s16le "${f%.webm}.caf"; done. On Windows Command Prompt, use: for %f in (*.webm) do ffmpeg -i "%f" -c:a pcm_s16le "%~nf.caf". This is especially useful for batch-processing large WebM archives that exceed the 1GB browser limit of the online tool.

Technical Notes

CAF uses pcm_s16le (16-bit signed little-endian PCM) as the default codec in this conversion, which means the output audio is uncompressed and will be significantly larger than the source WebM — a 10-minute stereo WebM file at 128k Opus might be around 10MB, while the equivalent PCM CAF could be 100MB or more. The CAF container was specifically designed by Apple to overcome the 4GB file size limit of AIFF and WAV, making it suitable for very long uncompressed recordings. One important limitation: WebM's Opus audio is often encoded at 48kHz, and this sample rate is preserved in the PCM output — macOS and iOS handle 48kHz PCM in CAF without issues, but some older or non-Apple audio software may expect 44.1kHz. If the WebM source contained a Vorbis audio track instead of Opus, the same PCM decoding process applies. Subtitle tracks, chapter metadata, and multiple audio tracks present in the WebM are all dropped, as CAF supports none of these features.

Related Tools