.WAV Waveform Audio
.wav

Waveform Audio

Convert WAV audio to MP3 directly in your browser — no upload, no server, no quality surprises. FileDex uses FFmpeg WebAssembly to encode your uncompressed PCM audio locally, giving you full control over bitrate and output format.

Learn more ↓
Audio structure
RIFF WAVE header
fmt sample rate · bits
data PCM samples
LosslessAudio1991
By FileDex

Your files never leave your device

Common questions

Does converting WAV to MP3 lose quality?

Yes. MP3 is a lossy format that discards audio data the human ear is unlikely to perceive. At 192 kbps VBR or higher, the difference is inaudible to most listeners in blind tests. For lossless compression, choose FLAC instead — it preserves every sample while reducing file size by 30-50%.

Why are WAV files so large?

WAV stores uncompressed PCM audio — every sample is recorded at full precision with no compression. A stereo 16-bit 44.1 kHz WAV uses approximately 10 MB per minute. This is by design: zero compression means zero processing delay and no quality loss.

Can WAV files be larger than 4 GB?

Standard WAV is limited to 4 GB because the RIFF header uses 32-bit size fields. The RF64 extension (EBU Tech 3306) uses 64-bit sizes, supporting files up to 16 exabytes. Most modern DAWs automatically write RF64 when the file exceeds 4 GB.

Should I use WAV or FLAC for archiving audio?

FLAC is the better archival choice. It compresses WAV to 50-70% of original size with zero quality loss — decoding produces bit-identical PCM. WAV is preferred only when DAW compatibility or instant random-access editing is required.

What is the difference between 16-bit and 24-bit WAV?

Bit depth determines dynamic range. 16-bit WAV provides 96 dB of dynamic range (sufficient for CD playback). 24-bit WAV provides 144 dB, exceeding the capabilities of any microphone or speaker — used in professional recording to preserve headroom during mixing and mastering.

What is Broadcast Wave Format (BWF) and when should I use it?

BWF (EBU Tech 3285) extends WAV with a bext metadata chunk containing originator, creation date, and a 64-bit timecode reference for frame-accurate synchronization. Radio stations, film studios, and court recording systems use BWF. Any standard WAV player reads BWF audio — non-BWF-aware tools simply ignore the bext chunk.

What makes .WAV special

Since 1991
Built for Windows 3.1 by Microsoft/IBM
WAV launched with Windows 3.1 as the standard PC audio format. Its 44-byte header is so simple that any parser can read it trivially.
Predictable size
CD quality = exactly 10 MB per minute
Uncompressed PCM at 44.1 kHz, 16-bit stereo uses 176,400 bytes per second. Silence and a full orchestra produce identical file sizes.
4 GB barrier
Standard WAV cannot exceed 4 GB
The RIFF header uses 32-bit size fields, capping files at 4 GB. RF64 extends this to 16 exabytes for long-form recording sessions.
DAW standard
Every audio editor reads WAV natively
Pro Tools, Logic Pro, Ableton, FL Studio, Audacity — WAV is the universal interchange format. No codec negotiation, no decode overhead.

Raw PCM audio stored in a RIFF container — that is WAV at its core. The format stores uncompressed sample data with a minimal header, making it the default working format in audio production, broadcast, and scientific acquisition. CD-quality WAV (16-bit, 44.1 kHz, stereo) consumes exactly 10.09 MB per minute — a predictable constant regardless of content complexity. Silence and a full orchestra at the same sample rate and bit depth produce identical file sizes.

Continue reading — full technical deep dive

RIFF Container Structure

WAV uses the RIFF (Resource Interchange File Format) container, shared with WebP and AVI. The file begins with a 12-byte master header: the ASCII string RIFF, a 32-bit little-endian size value covering the rest of the file, and the WAVE FourCC identifier. After this header, data is organized into chunks, each with a 4-byte ID, a 4-byte size, and its payload.

Two chunks are mandatory. The fmt chunk (with trailing space) describes the audio format: a 16-bit format tag (0x0001 for PCM, 0x0003 for IEEE float), channel count, sample rate, byte rate, block alignment, and bits per sample. The data chunk contains the raw audio samples, interleaved by channel in little-endian byte order.

Optional chunks can appear in any order after fmt . The fact chunk stores the total sample count for non-PCM formats. LIST chunks with INFO sub-chunks carry metadata — IART for artist, INAM for title, ICRD for creation date. These fields are limited to ASCII text and a few hundred bytes each.

PCM Encoding: The Math

The byte rate of uncompressed PCM audio is deterministic: sample rate x bit depth x channels / 8. For CD-quality audio: 44,100 x 16 x 2 / 8 = 176,400 bytes per second. Multiply by 60 for the per-minute figure: 10,584,000 bytes, or 10.09 MB. A three-minute song occupies 30.27 MB. A 90-minute album fills 908 MB.

This predictability is both a strength and a constraint. File sizes are large but never surprising. There is no variable bitrate, no quality parameter, no encoder choice. The audio data is a direct numerical record of the waveform.

Bit Depth Comparison

16-bit integer PCM provides 96 dB of dynamic range with 65,536 discrete amplitude levels. This is sufficient for final delivery formats — CD, broadcast, and most streaming services.

24-bit integer PCM extends dynamic range to 144 dB with 16.7 million amplitude levels. Recording studios use 24-bit to preserve headroom during capture. The extra 48 dB of range means quiet signals stay well above the noise floor even when levels are conservative.

32-bit float PCM uses IEEE 754 single-precision floating point. Dynamic range exceeds 1,500 dB in theory, but the practical advantage is different: floating point samples cannot clip. Values above 1.0 or below -1.0 are preserved exactly, allowing gain adjustments after recording without permanent distortion. Most DAWs process audio internally in 32-bit float regardless of the source format.

Dithering

Reducing bit depth — from 24-bit to 16-bit for CD mastering, for example — requires truncating or rounding the lower bits. Truncation introduces quantization distortion correlated with the signal. Dithering adds a small amount of noise before truncation, randomizing the quantization error and converting distortion into a faint, constant noise floor. Triangular probability density function (TPDF) dither is the standard for most conversions. Noise-shaped dither pushes the added noise into frequency ranges where human hearing is least sensitive, typically above 15 kHz.

Skipping dither when downsampling bit depth is a common mistake. The resulting artifacts are subtle on loud material but clearly audible in fade-outs and quiet passages as a gritty, metallic distortion.

Broadcast Wave Format (BWF)

BWF extends WAV with a bext chunk containing broadcast-specific metadata: description (256 ASCII characters), originator, originator reference, origination date and time, time reference (sample count from midnight, enabling frame-accurate synchronization), and a UMID (Unique Material Identifier). The coding history field records the signal chain — sample rate conversions, codec passes, and equipment used.

BWF is mandatory in many broadcast environments. The EBU (European Broadcasting Union) R68 and R128 standards reference it explicitly. BWF files are structurally identical to WAV files with the added bext chunk — any WAV player can read the audio, though non-BWF-aware software ignores the metadata.

iXML Metadata

Professional field recorders (Sound Devices, Zoom F-series) embed iXML chunks in WAV files. This XML-structured metadata includes take number, scene, tape ID, track names, circled take flags, GPS coordinates, and pre-roll timecode. Post-production workflows use iXML to automate media management. The iXML specification is maintained by the iXML consortium and has been through multiple revisions, though no formal standards body governs it.

RF64: Breaking the 4 GB Barrier

Standard WAV files use 32-bit size fields, capping the maximum file size at 4,294,967,295 bytes (just under 4 GB). At 24-bit, 96 kHz, stereo, this limit is reached after approximately 124 minutes. For long-form recording — concerts, location sound, scientific capture — this is insufficient.

RF64 replaces the RIFF header with RF64 and adds a ds64 chunk containing 64-bit size values. This extends the maximum to 16 exabytes. The audio data and all other chunks remain identical. Most professional recording software and hardware support RF64 transparently, switching from WAV to RF64 automatically when the 4 GB boundary approaches.

Limitations

Beyond the 4 GB size cap without RF64, WAV has several constraints. There is no built-in chapter or cue point standard widely supported across players — the cue chunk exists but implementation is inconsistent. Metadata support is primitive compared to ID3v2 in MP3 or Vorbis comments in FLAC. No native compression exists within the WAV container for PCM data. File integrity depends entirely on the RIFF size fields being correct; truncated files often fail to open rather than playing what is available.

When to Use WAV vs Alternatives

Use WAV for recording, editing, and mixing where maximum compatibility with audio hardware and DAW software is required. Use FLAC instead of WAV for archival storage — FLAC compresses PCM audio by 40-60% with bit-perfect reconstruction, saving significant disk space with no quality loss. Use AIFF when working in Apple-centric production environments, though AIFF and WAV are functionally equivalent for PCM audio with only byte-order and metadata differences. Use WAV over MP3 or AAC whenever the workflow involves further processing — lossy formats should only appear at the final delivery stage. For files exceeding 4 GB, verify that your toolchain supports RF64 before recording, or use FLAC which has no practical size limit.

.WAV compared to alternatives

.WAV compared to alternative formats
Formats Criteria Winner
.WAV vs .FLAC
File size
FLAC achieves 50-70% compression versus WAV with zero quality loss. A 40 MB WAV file typically compresses to 20-28 MB as FLAC. Both decode to identical PCM samples.
FLAC wins
.WAV vs .AIFF
Cross-platform compatibility
WAV is natively supported on Windows, macOS, Linux, and all browsers. AIFF is primarily an Apple format — Windows support requires third-party software for editing (playback is native).
WAV wins
.WAV vs .MP3
Audio fidelity
WAV stores uncompressed PCM — bit-perfect representation of the recorded signal. MP3 discards masked frequencies via psychoacoustic modeling. The difference is measurable but may be inaudible at 192+ kbps.
WAV wins
.WAV vs .FLAC
DAW compatibility
WAV is the universal interchange format for Pro Tools, Logic Pro, Ableton, and Audacity. FLAC requires decoding before editing in most DAWs, adding a conversion step to the workflow.
WAV wins

Technical reference

MIME Type
audio/wav
Magic Bytes
52 49 46 46 xx xx xx xx 57 41 56 45 RIFF header with WAVE signature at bytes 8-11.
Developer
Microsoft / IBM
Year Introduced
1991
Open Standard
Yes
0000000052494646XXXXXXXX57415645 RIFF....WAVE

RIFF header with WAVE signature at bytes 8-11.

Binary Structure

WAV uses the RIFF (Resource Interchange File Format) container. The file begins with a 12-byte master header: 4-byte RIFF signature (52 49 46 46), 4-byte file size (little-endian, excluding the first 8 bytes), and 4-byte format identifier WAVE (57 41 56 45). The body contains chunks, each with a 4-byte ID, 4-byte size, and payload. The mandatory 'fmt ' chunk (66 6D 74 20) at minimum 16 bytes describes the audio format: compression code (0x0001 for PCM), channel count, sample rate, byte rate, block alignment, and bits per sample. The 'data' chunk (64 61 74 61) contains the raw audio samples. Optional chunks include 'LIST' (metadata), 'fact' (sample count for compressed formats), and 'cue ' (cue points).

OffsetLengthFieldExampleDescription
0x00 4 bytes RIFF Signature 52 49 46 46 (RIFF) Identifies the file as a RIFF container. All WAV files start with these bytes.
0x04 4 bytes File Size varies (little-endian) Total file size minus 8 bytes (excludes RIFF signature and this size field).
0x08 4 bytes WAVE Identifier 57 41 56 45 (WAVE) Identifies the RIFF type as WAVE audio. Distinguishes WAV from other RIFF formats like AVI.
0x0C 4 bytes fmt Chunk ID 66 6D 74 20 (fmt ) Start of the format chunk. Note the trailing space in 'fmt ' — it is part of the chunk ID.
0x14 2 bytes Audio Format 01 00 (PCM) Compression code. 0x0001 = PCM (uncompressed). 0x0003 = IEEE float. 0x0006 = A-law.
0x16 2 bytes Channels 02 00 (stereo) Number of audio channels. 1 = mono, 2 = stereo, 6 = 5.1 surround.
0x18 4 bytes Sample Rate 44 AC 00 00 (44100 Hz) Samples per second per channel. CD standard is 44100 Hz.
0x22 2 bytes Bits Per Sample 10 00 (16-bit) Bit depth per sample. 16-bit = CD quality. 24-bit = professional recording standard.
1991Microsoft and IBM publish the WAV specification as part of the RIFF multimedia framework for Windows 3.11997EBU publishes the Broadcast Wave Format (BWF) extension, adding professional metadata fields for broadcast production2001RF64 extension proposed to break the 4 GB file size barrier using 64-bit size fields2007EBU Tech 3306 formalizes RF64 as the successor to standard WAV for files exceeding 4 GB
Convert WAV to MP3 at high quality (VBR) ffmpeg
ffmpeg -i input.wav -codec:a libmp3lame -qscale:a 2 output.mp3

-codec:a libmp3lame selects the LAME MP3 encoder. -qscale:a 2 sets VBR quality level 2, targeting approximately 190 kbps — widely considered transparent quality for most listeners.

Convert WAV to FLAC (lossless compression) ffmpeg
ffmpeg -i input.wav -c:a flac -compression_level 8 output.flac

-c:a flac selects the FLAC encoder. -compression_level 8 uses high compression. Output is bit-perfect — decoding produces identical PCM to the original WAV.

Convert WAV to 16-bit 44.1 kHz CD standard ffmpeg
ffmpeg -i input.wav -c:a pcm_s16le -ar 44100 -ac 2 output.wav

Normalizes sample format to signed 16-bit little-endian, resamples to 44100 Hz, and forces stereo output. Required for CD mastering and burning software that expects exact Red Book specifications.

Inspect WAV file properties ffprobe
ffprobe -v error -show_entries stream=codec_name,sample_rate,channels,bits_per_sample -show_entries format=duration,size -of json input.wav

Displays codec, sample rate, channel count, bit depth, duration, and file size in JSON format without processing the audio data.

WAV MP3 transcode lossy MP3 encoding reduces WAV file size by approximately 10:1 while maintaining perceptually acceptable quality. Required for music distribution, podcast publishing, web audio, and any scenario where uncompressed PCM is impractical due to bandwidth or storage constraints.
WAV FLAC transcode lossless FLAC compresses WAV audio to 50-70% of original size with zero quality loss — bit-perfect roundtrip. Ideal for archiving CD rips, master recordings, and any audio where lossy compression is unacceptable.
WAV AAC transcode lossy AAC provides better compression efficiency than MP3, delivering transparent quality at 128-192 kbps. AAC is the native audio codec for Apple devices, YouTube, and most streaming platforms.
WAV OGG transcode lossy Vorbis in OGG is fully patent-free, making it the preferred format for open-source projects, game engines, and web applications where licensing restrictions must be avoided.
LOW

Attack Vectors

  • Malformed fmt chunk with extreme channel count or sample rate values can cause integer overflow in decoders that calculate buffer sizes by multiplying channels x sample_rate x bits_per_sample without overflow checking
  • Oversized LIST/INFO metadata chunks can trigger heap buffer overflow in parsers that allocate fixed buffers for metadata strings
  • WAV files with codec 0x0055 (MP3-in-WAV) or 0xFFFE (extensible format) may invoke secondary decoders with their own vulnerability surface

Mitigation: FileDex processes WAV files entirely in the browser using FFmpeg WebAssembly in a sandboxed environment. No WAV data is uploaded to any server. Audio encoding happens locally with memory-safe WASM execution.

Audacity tool
Free, open-source audio editor with native WAV import/export and multi-track editing
SoX tool
Command-line audio processing tool for format conversion, effects, and sample rate conversion
FFmpeg tool
Universal media framework with PCM encoding/decoding and WAV muxing support
libsndfile library
C library for reading and writing WAV, AIFF, FLAC, and other audio file formats
scipy.io.wavfile library
Python module for reading and writing WAV files as NumPy arrays