Convert WAV to FLAC — Free Online Tool

Convert WAV files to FLAC with true lossless compression — your audio data is preserved bit-for-bit while file sizes shrink significantly. FLAC's open-source codec applies predictor-based compression to the raw PCM samples in your WAV file, delivering archival-quality audio in a more storage-efficient container with full metadata tag support.

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 typically store audio as uncompressed PCM samples (most commonly 16-bit signed little-endian, though WAV also supports 24-bit, 32-bit, and floating-point variants). During this conversion, FFmpeg reads those raw PCM samples and re-encodes them using the FLAC codec, which applies linear predictive coding (LPC) and Rice coding to compress the audio data without discarding any information. The output FLAC file can be decoded back to the exact same PCM samples that were in the original WAV — not an approximation, but a mathematically identical reconstruction. The compression level (set to 5 by default) controls the trade-off between encoding speed and output file size, but has no effect whatsoever on audio quality. WAV's lack of native metadata support also means that converting to FLAC unlocks the ability to embed artist, album, track, and other Vorbis Comment tags directly in the file.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that runs under the hood of this browser tool via WebAssembly, and that you can also run identically on your local machine.
-i input.wav Specifies the input WAV file. FFmpeg reads the WAV container, identifies the audio codec inside (most commonly pcm_s16le for standard CD-quality WAV, or pcm_s24le for high-resolution files), and prepares the PCM samples for re-encoding.
-c:a flac Instructs FFmpeg to encode the audio stream using the FLAC (Free Lossless Audio Codec) encoder. This replaces the uncompressed PCM storage of the WAV format with FLAC's lossless predictor-based compression, preserving every audio sample exactly.
-compression_level 5 Sets the FLAC compression effort to level 5 on a scale of 0–8. This is the FLAC encoder's default and represents a balanced trade-off between encoding speed and output file size. Crucially, changing this value never affects audio quality — all levels produce identical decoded audio.
output.flac Defines the output filename with a .flac extension, which tells FFmpeg to wrap the encoded FLAC audio stream in a native FLAC file container — a streamlined format that supports seeking, Vorbis Comment metadata tags, and ReplayGain, unlike the WAV container it replaces.

Common Use Cases

  • Archiving a music collection recorded or mastered in WAV format, where you need to preserve every bit of audio quality but want to reclaim disk space — FLAC typically reduces WAV file sizes by 40–60% without any quality loss.
  • Preparing audio files for playback on audiophile hardware (DACs, hi-fi streamers, network players) that support FLAC but not the large uncompressed WAV files your recording software produces.
  • Adding proper metadata tags (artist, album, track number, genre) to audio files that were delivered as bare WAV files without embedded tags, since FLAC supports Vorbis Comments natively.
  • Distributing high-resolution 24-bit or 32-bit WAV recordings to clients or collaborators where bandwidth or storage is a concern, without compromising the original resolution or dynamic range.
  • Converting WAV exports from a DAW (Digital Audio Workstation) for submission to lossless music distribution platforms or digital stores that require FLAC rather than WAV.
  • Reducing storage footprint of broadcast WAV (BWF) recordings for long-term archiving while retaining the full-resolution audio data that broadcast production workflows demand.

Frequently Asked Questions

No — FLAC is a lossless codec by definition. The compression it applies is mathematically reversible, meaning the decoded audio is bit-for-bit identical to the original PCM data in your WAV file. This is fundamentally different from lossy formats like MP3 or AAC, which permanently discard audio information. You can verify losslessness yourself by decoding the FLAC back to WAV and comparing checksums with the original.
FLAC typically achieves 40–60% compression on standard music recordings, though the exact ratio depends heavily on the audio content. Recordings with lots of silence, simple tonal content, or 16-bit depth compress better than dense, high-dynamic-range 24-bit material. A 100 MB WAV file might become a 45–60 MB FLAC file. Speech recordings and classical music with quiet passages tend to compress better than heavily mastered pop or electronic music.
FFmpeg preserves the original bit depth by default. If your WAV file contains 24-bit PCM audio (pcm_s24le), the output FLAC will also be 24-bit FLAC. The same applies to 16-bit and 32-bit WAV files. No bit-depth reduction or dithering occurs unless you explicitly add flags like -sample_fmt s16 to the command. This makes the WAV-to-FLAC conversion genuinely safe for high-resolution audio masters.
The -compression_level flag (ranging from 0 to 8) controls how hard the FLAC encoder works to shrink the file, not the audio quality. Level 0 encodes very fast but produces larger files; level 8 takes longer but achieves the smallest possible FLAC size. Level 5 is the widely-used default that balances encoding speed with file size reduction. For most users converting large WAV archives, level 5 is the right choice. If you are batch processing thousands of files on a slow machine, dropping to level 1 or 2 speeds things up considerably with only a minor size penalty.
Yes — on Linux or macOS you can run a shell loop such as: for f in *.wav; do ffmpeg -i "$f" -c:a flac -compression_level 5 "${f%.wav}.flac"; done. On Windows Command Prompt, use: for %f in (*.wav) do ffmpeg -i "%f" -c:a flac -compression_level 5 "%~nf.flac". This is especially useful for files over 1GB, which exceed the browser tool's limit and are better handled directly on your desktop with FFmpeg.
FLAC has broad but not universal compatibility. It plays natively in VLC, foobar2000, Plex, Jellyfin, Roon, most Android music players, and nearly all dedicated hi-fi streamers. macOS and iOS support FLAC natively since macOS 10.13 and iOS 11. Windows 10 and 11 play FLAC in the built-in Media Player app. iTunes and Apple Music do not support FLAC playback — for Apple ecosystem use, you would need to convert to Apple Lossless (ALAC) instead. Most audiophile-grade DAC software and hardware supports FLAC without issue.

Technical Notes

WAV is primarily a container for raw PCM audio, and while it technically supports compressed codecs like ADPCM and even FLAC within the WAV wrapper, the overwhelming majority of WAV files in the wild contain uncompressed pcm_s16le or pcm_s24le audio. FFmpeg detects the codec inside the WAV container automatically and routes the PCM samples directly to the FLAC encoder, so no intermediate decoding step is needed for standard PCM WAV files. One important limitation to be aware of: WAV files do not natively support ID3 or Vorbis Comment metadata tags in a standardized way (though some software embeds LIST INFO chunks), so embedded tags from your WAV file may not transfer cleanly to the FLAC output. You may need to re-tag the FLAC files after conversion using a tool like MusicBrainz Picard or beets. Additionally, if your WAV file is a Broadcast Wave Format (BWF) file with embedded BEXT chunks containing timecode and broadcast metadata, those chunks will not be preserved in the FLAC output, as FLAC does not have an equivalent metadata structure. For floating-point WAV files (pcm_f32le), FFmpeg will encode them as 32-bit FLAC, which is supported by the spec but may have limited hardware player compatibility compared to 16-bit or 24-bit FLAC.

Related Tools