Convert WAV to MP3 — Free Online Tool
Convert WAV audio files to MP3 using the LAME encoder (libmp3lame) at 128kbps by default — shrinking uncompressed PCM audio down to a fraction of its original size while preserving perceptually acceptable quality for streaming, sharing, and web playback. Ideal for taking broadcast-ready WAV masters and producing universally compatible MP3 files without any server uploads.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your WAV 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
WAV files typically store raw, uncompressed PCM audio (most commonly 16-bit signed little-endian, though WAV also supports 24-bit, 32-bit float, and other encodings). During this conversion, FFmpeg decodes the PCM audio stream from the WAV container and re-encodes it using the LAME MP3 encoder (libmp3lame), applying lossy psychoacoustic compression that discards audio information deemed inaudible to the human ear. The resulting MP3 is wrapped in an MPEG container with ID3 tag support. Because this is a full transcode — not a remux — some audio quality is permanently lost relative to the WAV source, but the file size reduction is dramatic: a 50MB WAV at CD quality (44.1kHz, 16-bit stereo) typically produces a 5–6MB MP3 at 128kbps.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg command-line tool. In this browser-based tool, FFmpeg runs entirely via WebAssembly (FFmpeg.wasm) inside your browser — the same command shown here works identically on your desktop installation of FFmpeg for local batch processing. |
-i input.wav
|
Specifies the input file — a WAV audio file containing PCM audio data (typically 16-bit, 24-bit, or 32-bit samples at standard sample rates like 44.1kHz or 48kHz). FFmpeg automatically detects the WAV container and the specific PCM codec variant inside it. |
-c:a libmp3lame
|
Selects the LAME MP3 encoder for the audio stream. libmp3lame is the industry-standard open-source MP3 encoder and the only audio codec option when outputting to MP3 — it applies MPEG Audio Layer III psychoacoustic compression to the decoded PCM from the WAV source. |
-b:a 128k
|
Sets the MP3 output to a constant bitrate of 128 kilobits per second. At this rate, a stereo MP3 is roughly 11 times smaller than a CD-quality WAV source while remaining perceptually acceptable for most listeners. Increase to 192k or 320k for higher fidelity, or decrease to 96k for voice-only content like podcasts. |
output.mp3
|
Defines the output filename and tells FFmpeg to write an MPEG Layer III audio file. The .mp3 extension signals FFmpeg to use the MP3 muxer, which wraps the LAME-encoded audio and supports ID3 tag metadata compatible with virtually all media players, streaming platforms, and devices. |
Common Use Cases
- Uploading finished audio recordings to music platforms like SoundCloud or Bandcamp that accept MP3 but where WAV files would be unnecessarily large for listeners to stream
- Sending voice-over recordings or podcast episodes to clients or editors who need a small, email-friendly file rather than a full-resolution WAV master
- Preparing field recordings or sound effects captured as WAV for use in mobile apps or games where storage size and streaming bandwidth are constraints
- Distributing music produced in a DAW (exported as WAV) to friends or collaborators who just need a playable file on any device or media player
- Converting archived WAV recordings from radio broadcasts or studio sessions into MP3 for long-term storage where disk space is a concern
- Making WAV audio files compatible with older car stereos, MP3 players, or hardware devices that do not support WAV playback but universally support MP3
Frequently Asked Questions
Yes — MP3 is a lossy format, so converting from WAV permanently discards some audio data. At the default 128kbps setting, most listeners will not notice a difference in casual listening, but trained ears and high-end playback systems may detect a slight loss of high-frequency detail or transient sharpness compared to the original PCM WAV. If you are working with a high-quality 24-bit or 32-bit float WAV master, the quality gap will be more apparent. For archival purposes, always keep your original WAV file.
The size reduction depends on the bitrate you choose and the original WAV's sample depth. A standard CD-quality WAV (44.1kHz, 16-bit stereo) runs at roughly 1,411kbps uncompressed. At the default 128kbps MP3 output, that is approximately an 11:1 compression ratio — so a 50MB WAV becomes roughly 4–5MB. At 320kbps (the highest quality MP3 option), the ratio is closer to 4.5:1, giving you better quality at the cost of a larger file.
WAV metadata support is inconsistent — some WAV files carry ID3 or INFO chunk metadata, but many do not. MP3 uses the well-established ID3 tag standard, and FFmpeg will attempt to map any metadata it finds in the WAV source to ID3 tags in the output MP3. However, if your WAV file contains no embedded metadata, the MP3 will also have none. Album art embedded in WAV is rarely preserved reliably, so you may want to add ID3 tags manually after conversion using a tool like MusicBrainz Picard or Mp3tag.
Replace the '128k' value in the '-b:a 128k' flag with your desired bitrate. For example, use '-b:a 320k' for the highest standard MP3 quality (best for music), '-b:a 192k' for a good balance of quality and size, or '-b:a 96k' for voice content like podcasts or audiobooks where smaller file size matters more than fidelity. The full command at 320kbps would be: ffmpeg -i input.wav -c:a libmp3lame -b:a 320k output.mp3
Yes. On Linux or macOS, you can run a shell loop: 'for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -b:a 128k "${f%.wav}.mp3"; done'. On Windows Command Prompt, use: 'for %f in (*.wav) do ffmpeg -i "%f" -c:a libmp3lame -b:a 128k "%~nf.mp3"'. This applies the same LAME encoding settings to every WAV file in the current directory and is far faster than converting files one at a time through a browser tool — especially useful if you have many large WAV masters to process.
Yes. FFmpeg automatically handles sample format conversion during the transcode. Whether your WAV contains 16-bit (pcm_s16le), 24-bit (pcm_s24le), 32-bit integer (pcm_s32le), or 32-bit float (pcm_f32le) PCM audio, the LAME encoder will receive the decoded audio and compress it to MP3. Note that MP3 itself cannot represent audio above CD quality (44.1kHz/16-bit equivalent), so the additional dynamic range of a 24-bit source will not be retained in the MP3 output — another reason to preserve your original WAV master.
Technical Notes
WAV is a container format that most commonly wraps raw PCM audio, making it the standard choice for uncompressed, broadcast-ready audio. When converting to MP3 using libmp3lame, FFmpeg performs a full decode-then-encode pipeline: the PCM stream is decoded from the WAV container, resampled if needed, and passed to the LAME encoder which applies the MPEG Audio Layer III psychoacoustic model. The default constant bitrate of 128kbps produces a stereo MP3 suitable for general listening, but LAME also supports variable bitrate (VBR) encoding — achievable by replacing '-b:a 128k' with '-q:a 2' (VBR quality scale 0–9, where 2 is near-transparent). One important limitation: MP3 does not support sample rates above 48kHz, so if your WAV source was recorded at 88.2kHz or 96kHz (common in professional audio workflows), FFmpeg will automatically downsample to 44.1kHz or 48kHz respectively. Additionally, WAV files occasionally contain non-PCM audio codecs like ADPCM or A-law — FFmpeg handles these transparently by decoding them first before re-encoding to MP3. Gapless playback metadata written by LAME is embedded in the Xing/INFO header of the output file, which most modern players recognize.