Extract Audio from MXF to AIFF — Free Online Tool

Extract audio from MXF broadcast files and save it as AIFF — converting the PCM audio stream from MXF's little-endian format (pcm_s16le) to AIFF's big-endian PCM format (pcm_s16be) with zero quality loss. Ideal for post-production workflows where macOS audio tools expect uncompressed AIFF files.

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

MXF (Material Exchange Format) is a professional broadcast container that typically wraps PCM audio stored as signed 16-bit little-endian samples (pcm_s16le). AIFF, Apple's uncompressed audio format, stores PCM audio as signed 16-bit big-endian samples (pcm_s16be). During this conversion, FFmpeg discards all video streams entirely using the -vn flag, then re-encodes only the audio — not by compressing it, but purely by reversing the byte order of each audio sample from little-endian to big-endian. This is a lossless byte-swap operation, so every sample value is preserved exactly; only the on-disk byte arrangement changes to satisfy the AIFF container specification. The result is a fully uncompressed AIFF file at identical bit depth and sample rate to the original MXF audio track.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. In the browser-based version of this tool, FFmpeg runs as a WebAssembly binary (FFmpeg.wasm) entirely within your browser — no files leave your machine.
-i input.mxf Specifies the input MXF file. FFmpeg reads the MXF container and demultiplexes its internal streams, which may include video (e.g., libx264 or mpeg2video), audio (typically pcm_s16le or pcm_s24le), and embedded metadata such as SMPTE timecode.
-vn Disables video output entirely, telling FFmpeg to ignore all video streams present in the MXF file. Since we only want the audio essence, this prevents any video codec from being processed or included in the AIFF output, which is a purely audio container.
-c:a pcm_s16be Sets the audio codec to signed 16-bit big-endian PCM, which is the native and required encoding for standard AIFF files. This converts the MXF source audio (pcm_s16le, little-endian) to big-endian byte order as mandated by the AIFF specification — a lossless operation that preserves every audio sample value exactly.
output.aiff Defines the output filename and format. FFmpeg infers the AIFF container format from the .aiff file extension and writes the big-endian PCM audio stream into a valid AIFF file compatible with macOS applications such as Logic Pro, GarageBand, QuickTime Player, and professional DAWs.

Common Use Cases

  • Delivering isolated dialogue or music stems from an MXF broadcast master to a macOS-based audio editor like Logic Pro or Pro Tools, which commonly work with AIFF as a native lossless format
  • Extracting the PCM audio track from an MXF camera original (e.g., from an ARRI or Sony broadcast camera) for audio sync or ADR work in post-production
  • Archiving the audio component of a broadcast MXF asset in a standalone lossless file for long-term storage separate from the video essence
  • Preparing a clean uncompressed audio reference from an MXF master to use as a mix reference or quality-check source in a DAW session
  • Separating audio from MXF news package footage so an audio engineer can review or repair the recording without needing a video workstation capable of reading MXF
  • Converting MXF-wrapped PCM audio to AIFF for compatibility with macOS system tools, Finder previews, or Apple's own audio import workflows

Frequently Asked Questions

No — this conversion is completely lossless. Both MXF (using pcm_s16le) and AIFF (using pcm_s16be) store uncompressed PCM audio; the only difference is byte order. FFmpeg performs a byte-swap on each sample to convert from little-endian to big-endian representation, but every sample value remains numerically identical. The output AIFF will have the exact same bit depth, sample rate, and audio content as the MXF source.
AIFF is defined by Apple's specification to use big-endian byte ordering for its PCM samples, which is why the correct codec is pcm_s16be (signed 16-bit big-endian). MXF, by contrast, typically stores PCM audio as pcm_s16le (little-endian), which is more common on x86 hardware. If you forced pcm_s16le into an AIFF container, some applications would read the byte order incorrectly and produce distorted or unrecognizable audio.
No. AIFF does not support MXF-specific metadata such as SMPTE timecode, umid (unique material identifier), or broadcast production metadata embedded in the MXF wrapper. These fields exist only in the MXF container structure and will be dropped during extraction. If preserving timecode is critical to your workflow, you should record the timecode value separately before converting, or consider a format like BWF (Broadcast Wave Format) which has dedicated timecode chunk support.
By default, FFmpeg selects the first audio stream it finds in the MXF file. MXF files from broadcast environments often carry multiple audio tracks (e.g., dual mono, stereo pairs, or multi-channel stems). To extract a specific track, you can modify the command to add -map 0:a:1 (for the second audio stream, zero-indexed) before the output filename. For example: ffmpeg -i input.mxf -vn -map 0:a:1 -c:a pcm_s16be output.aiff.
If your MXF source contains 24-bit audio (pcm_s24le), you can preserve that full bit depth in the AIFF output by changing the codec flag in the command to -c:a pcm_s24be. The full command would be: ffmpeg -i input.mxf -vn -c:a pcm_s24be output.aiff. This keeps all 24 bits of dynamic range intact and is recommended when working with professional recordings where the source material was captured at 24-bit depth.
Yes. On Linux or macOS, you can loop over all MXF files in a directory with a shell one-liner: for f in *.mxf; do ffmpeg -i "$f" -vn -c:a pcm_s16be "${f%.mxf}.aiff"; done. On Windows Command Prompt, use: for %f in (*.mxf) do ffmpeg -i "%f" -vn -c:a pcm_s16be "%~nf.aiff". The browser-based tool processes one file at a time, so the FFmpeg command is especially useful for batch jobs involving large broadcast libraries.

Technical Notes

MXF files encountered in broadcast and post-production environments almost universally carry audio as linear PCM — most commonly pcm_s16le at 48 kHz (the broadcast standard sample rate) or occasionally pcm_s24le for higher-fidelity recordings. AIFF's native codec, pcm_s16be, matches the 16-bit depth but requires big-endian byte ordering per the original Apple/EA IFF specification. FFmpeg handles this byte-order conversion internally without any intermediate compression or dithering. One important limitation: AIFF does not support multiple audio tracks in a single file, so if your MXF contains multi-track audio (common in broadcast masters with separate dialogue, music, and effects tracks), only the first stream is extracted by default. Additionally, MXF's rich metadata layer — including SMPTE timecode, KLV metadata packets, and umid identifiers — has no equivalent structure in AIFF and will be silently discarded. File sizes for the resulting AIFF will be slightly smaller than the MXF source because all video essence and container overhead is removed, but the audio data itself is uncompressed and will be proportionally large: a stereo 16-bit 48 kHz AIFF runs approximately 5.6 MB per minute.

Related Tools