Extract Audio from MP4 to WAV — Free Online Tool
Extract audio from an MP4 video and save it as a WAV file with uncompressed PCM audio (16-bit, signed little-endian). Unlike lossy extraction to MP3 or AAC, this conversion preserves full audio fidelity — making it ideal for audio editing, archiving, and professional workflows that require uncompressed source material.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MP4 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
MP4 files typically store audio using lossy codecs like AAC or MP3. When converting to WAV, FFmpeg decodes that compressed audio stream back to raw PCM samples and writes them into a WAV container using the pcm_s16le codec — 16-bit signed little-endian PCM. This means the audio is fully decompressed on output. Importantly, since the MP4's video stream is discarded entirely (not remuxed), and the audio is decoded and re-encoded to uncompressed PCM, this is a transcoding operation — not a remux. The resulting WAV file will be significantly larger than the source MP4's audio track, because WAV stores every audio sample without compression. If the original MP4 audio was AAC at 128k, you are decoding lossy audio to lossless PCM — the WAV will be pristine relative to the decoded signal, but the quality ceiling is still set by the original AAC encoding.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool. In the browser version of this tool, the same underlying FFmpeg engine runs via WebAssembly (FFmpeg.wasm), executing this identical logic entirely on your device without any server upload. |
-i input.mp4
|
Specifies the input file — an MP4 container that typically holds a video stream (commonly H.264) and a compressed audio stream (commonly AAC). FFmpeg reads and demuxes both streams, though only the audio will be used in this conversion. |
-vn
|
Disables video output entirely. Without this flag, FFmpeg would attempt to include the MP4's video stream in the output, which WAV cannot contain. This flag tells FFmpeg to ignore the video stream and produce an audio-only output. |
-c:a pcm_s16le
|
Sets the audio codec to PCM signed 16-bit little-endian — the standard uncompressed audio format used in WAV files. FFmpeg decodes the MP4's compressed audio (e.g., AAC) and re-encodes it as raw 16-bit PCM samples, producing a losslessly stored audio file compatible with virtually all audio software and hardware. |
output.wav
|
Specifies the output filename and container format. The .wav extension tells FFmpeg to wrap the pcm_s16le audio stream in a WAV (RIFF) container, which is an uncompressed audio format developed by Microsoft and IBM with near-universal compatibility across audio editors, DAWs, and operating systems. |
Common Use Cases
- Extracting dialogue or narration from an MP4 interview or lecture recording to import into a DAW like Audacity, Adobe Audition, or Pro Tools for editing
- Pulling a music soundtrack from an MP4 music video to use as a high-quality source file for audio mastering or remixing
- Extracting audio from a screen recording or tutorial video to produce a standalone podcast episode or audio course
- Preparing audio from an MP4 for broadcast or post-production pipelines that require uncompressed WAV files as deliverables
- Archiving the audio track of a video in an uncompressed format to avoid further generational quality loss through repeated lossy re-encoding
- Extracting audio from an MP4 to run speech-to-text transcription software that works best with uncompressed WAV input
Frequently Asked Questions
Not strictly — the WAV will be uncompressed, but the quality ceiling is determined by the original MP4 audio codec. Most MP4 files use AAC, which is a lossy format. When FFmpeg decodes the AAC stream to PCM and writes it into WAV, the output is a lossless representation of that already-decoded lossy signal. You won't recover any quality that AAC compression discarded, but you also won't introduce any additional quality loss. For editing purposes, working from uncompressed PCM is still preferable to repeatedly re-encoding a lossy file.
MP4 files store audio using compressed codecs like AAC, which dramatically reduce file size by discarding perceptually redundant audio data. WAV with pcm_s16le stores every single audio sample uncompressed — at CD quality (44.1kHz stereo, 16-bit), that's about 10 MB per minute. A 10-minute MP4 with AAC audio at 128k might have an audio track of roughly 10 MB, while the equivalent WAV extraction would be around 100 MB. The video stream being discarded doesn't reduce the WAV size — WAV contains no video at all.
WAV has limited and inconsistent metadata support compared to MP4. FFmpeg will attempt to copy compatible metadata tags into the WAV file's INFO chunk, but not all metadata fields map cleanly between the two formats, and many WAV-reading applications ignore or partially support WAV metadata. If metadata preservation is important, consider also keeping the original MP4 or exporting to a format with stronger metadata support like FLAC. For pure audio editing workflows, metadata in the WAV is rarely needed.
pcm_s16le stands for PCM signed 16-bit little-endian — the standard CD-quality audio format, which is the default for WAV and compatible with virtually every audio application and device. If your source MP4 was recorded or mastered at 24-bit depth and you need to preserve that precision, you can modify the command to use -c:a pcm_s24le instead. For most use cases — podcasts, dialogue editing, general audio work — 16-bit is more than sufficient. 32-bit float (pcm_f32le) is also an option if you're working in a professional DAW environment that benefits from the extended headroom.
You can batch process MP4 files using a shell loop. On Linux or macOS, run: for f in *.mp4; do ffmpeg -i "$f" -vn -c:a pcm_s16le "${f%.mp4}.wav"; done. On Windows Command Prompt, use: for %f in (*.mp4) do ffmpeg -i "%f" -vn -c:a pcm_s16le "%~nf.wav". This applies the same -vn and -c:a pcm_s16le flags to each file in sequence, producing a matching WAV file for every MP4 in the directory.
Yes — add -ss and -to (or -t for duration) flags to the command. For example, to extract audio from 1 minute 30 seconds to 3 minutes, use: ffmpeg -i input.mp4 -ss 00:01:30 -to 00:03:00 -vn -c:a pcm_s16le output.wav. Placing -ss before -i uses fast seeking, which is efficient for large MP4 files. This is useful for isolating a specific scene, interview segment, or musical passage without extracting the full audio track.
Technical Notes
The WAV format supports multiple PCM bit depths through different codec variants: pcm_s16le (16-bit, default), pcm_s24le (24-bit), pcm_s32le (32-bit integer), and pcm_f32le (32-bit float). The sample rate of the output WAV will match whatever is present in the MP4's audio stream — typically 44100 Hz or 48000 Hz — and no resampling occurs unless explicitly requested with the -ar flag. WAV does not support multiple audio tracks: if your MP4 contains multiple audio streams (e.g., stereo plus a 5.1 surround mix), FFmpeg will extract only the first audio stream by default. Use -map 0:a:1 to select a specific track. WAV also does not support chapters or subtitle tracks, so all of that metadata is simply discarded. The -vn flag is essential — without it, FFmpeg would error out trying to find a way to encode the MP4's video into the WAV container, which cannot hold video data. One known limitation: WAV files using standard RIFF headers have a 4 GB file size limit due to the 32-bit chunk size field; for very long, high-sample-rate recordings this can be a concern, though FFmpeg will use an RF64 extension automatically for files that would exceed this limit.