Compress WAV Online — Free File Size Reducer

Compress a WAV file by converting it to 16-bit PCM WAV, reducing bit depth from 24-bit or 32-bit source files while keeping the same lossless, uncompressed container. Ideal for shrinking broadcast or studio WAV files to a universally compatible format without switching formats.

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

WAV files can contain audio encoded at various bit depths — commonly 16-bit, 24-bit, or 32-bit — using PCM (Pulse Code Modulation). This tool re-encodes the audio stream using pcm_s16le, which is signed 16-bit little-endian PCM. If your source WAV is 24-bit or 32-bit, the output will be smaller because each audio sample is stored in 2 bytes instead of 3 or 4. The container format (WAV) stays the same, and no lossy compression is applied — the tradeoff is a reduction in dynamic range headroom (from ~144 dB in 32-bit float to ~96 dB in 16-bit), which is imperceptible in most real-world listening contexts. The sample rate and channel count are preserved from the source file.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program. This is the same open-source engine running in your browser via WebAssembly — the command shown is identical to what you would run in a local terminal.
-i input.wav Specifies the input WAV file. FFmpeg reads the file's fmt chunk to detect the source codec (e.g., pcm_s24le for 24-bit, pcm_f32le for 32-bit float) and uses that to determine what re-encoding work is needed.
-c:a pcm_s16le Sets the output audio codec to signed 16-bit little-endian PCM — the standard encoding for CD-quality WAV files. This is what reduces the bit depth and therefore the file size compared to 24-bit or 32-bit source WAVs.
output.wav Specifies the output file as a WAV container. Since the codec is explicitly set to pcm_s16le, FFmpeg writes a standard WAV file with a fmt chunk declaring 16-bit PCM, compatible with virtually all audio software, hardware, and platforms.

Common Use Cases

  • Reducing the file size of 24-bit studio master WAV files before distributing to clients or collaborators who don't need full 24-bit depth
  • Preparing audio for CD mastering, which requires 16-bit/44.1kHz WAV as its standard format
  • Shrinking large broadcast WAV files (BWF) recorded at 32-bit float by field recorders like Zoom or Sound Devices down to 16-bit for delivery to post-production pipelines
  • Making WAV files compatible with older hardware samplers, DAWs, or media players that only support 16-bit PCM WAV
  • Reducing storage footprint of a large WAV archive where the full bit depth of 24-bit or 32-bit recordings is no longer needed
  • Normalizing a collection of mixed-depth WAV files (some 16-bit, some 24-bit) into a consistent 16-bit format for a sample library or sound effects collection

Frequently Asked Questions

In most listening scenarios, no. The conversion reduces dynamic range from approximately 144 dB (24-bit) to 96 dB (16-bit), which is still well above the dynamic range of any real-world acoustic environment or playback system. The difference is theoretically measurable but practically inaudible for music, speech, and most sound design work. The main exception would be material that relies on extremely low-level signals or requires heavy post-processing headroom after delivery.
Yes — if your source WAV is 24-bit, the output 16-bit WAV will be approximately 33% smaller, because each sample shrinks from 3 bytes to 2 bytes. A 32-bit source WAV will produce an output roughly 50% of the original size. If your source is already 16-bit PCM, the output will be virtually the same file size since no bit depth reduction occurs.
The sample rate and channel count from your input WAV are preserved by default. For example, a 24-bit stereo 48 kHz WAV will become a 16-bit stereo 48 kHz WAV. Only the bit depth changes. If you want to also resample or change channels, you would need to add additional FFmpeg flags like -ar and -ac to the command.
Yes. On the command line you can use a shell loop to process multiple files. On Linux or macOS: `for f in *.wav; do ffmpeg -i "$f" -c:a pcm_s16le "16bit_$f"; done`. On Windows Command Prompt: `for %f in (*.wav) do ffmpeg -i "%f" -c:a pcm_s16le "16bit_%f"`. This applies the same pcm_s16le re-encoding to every WAV file in the current directory.
Standard ID3-style metadata embedded in WAV files is generally preserved during this conversion since the container stays WAV. However, BWF (Broadcast Wave Format) chunks — which carry timecode, originator, and description fields used in broadcast and post-production workflows — may or may not be fully retained depending on FFmpeg version and the source file's chunk layout. For professional broadcast delivery where BWF metadata is critical, verify the output file's metadata with a tool like BWFMetaEdit after conversion.
Add the -ar flag with the target sample rate before the output filename: `ffmpeg -i input.wav -c:a pcm_s16le -ar 44100 output.wav`. This re-encodes to 16-bit PCM and resamples to 44,100 Hz in a single pass, which is exactly the specification required for Red Book CD audio. FFmpeg uses its built-in SWR (SWResample) library for high-quality resampling.

Technical Notes

The codec used here — pcm_s16le — is signed 16-bit little-endian PCM, the most universally supported WAV encoding and the format burned onto every CD since the 1980s. WAV files can technically contain other codecs (ADPCM, A-law, FLAC-in-WAV, even 32-bit float), so this tool is also useful for normalizing non-standard WAV variants into plain 16-bit PCM that any software or device can read. One important limitation: 16-bit PCM has a fixed noise floor around -96 dBFS, so if your source material has been recorded with intentional headroom (e.g., peaks at -18 dBFS on a 32-bit float recorder), dithering would normally be recommended before reducing bit depth to avoid quantization distortion at low amplitudes. FFmpeg applies triangular dithering by default during bit depth reduction, which is suitable for most use cases. The WAV format has a theoretical 4 GB file size limit due to its 32-bit chunk size headers; files exceeding this should use the RF64 or W64 format instead.

Related Tools