WAV compression
WAV compressor
WAV is uncompressed, so it compresses very well. FLAC gives you 40–60% smaller files with zero quality loss; MP3 or Opus give you 85–95% smaller files at a real quality cost.
…or drag files and folders here. Add as many as you like — everything is processed on this device.
.aif .aifc .aiff .caf .flac .wav .wave
In one paragraph
WAV compression is the one case where you genuinely get to choose between lossless and lossy, because the source has no compression at all. That makes the decision simple: if anything downstream will edit, master or re-encode the audio, use FLAC and lose nothing. If the file just needs to be sent or played, use MP3 or Opus and enjoy the tenfold reduction.
This page defaults to FLAC because it is the choice most people should make and rarely do. Reducing bit depth and sample rate are also available and are sometimes the right answer — a 96 kHz/24-bit recording of a spoken interview is carrying a great deal of nothing.
Does this change the audio quality?
FLAC output is bit-exact when the bit depth matches the source — genuinely lossless. MP3, Opus and M4A output is lossy but first-generation, which is the best case for those codecs.
- Reducing bit depth or sample rate is not reversible, even when the output format is lossless.
- A 32-bit float WAV cannot be stored in FLAC as float; it becomes 24-bit integer, and that is reported per file.
- If a downstream tool cannot read FLAC, a lossless conversion is no help. Check before deleting the WAVs.
A worked example
Archiving 20 GB of session WAVs
- Drop the WAV files in — the panel reports bit depth, sample rate and size for each.
- Keep FLAC as the output and set the bit depth to match the source (usually 24).
- Set compression level 8 for maximum saving.
- Use sequential download mode so each FLAC is written to disk as it completes rather than accumulating in memory.
FLAC for archives, Opus for distribution
For anything you might edit again, FLAC at compression level 8 with the source bit depth is the correct answer — half the size, no compromise, and it checksums itself. For files that only need to be listened to, Opus at 96 kbps is roughly 1/15th the size of the WAV and sounds better than a 160 kbps MP3. Choose MP3 only when the destination cannot handle anything else.
Supported formats, limits and browser notes
Sonic Batch decodes with the browser when it can (faster, no engine download) and falls back to the self-hosted WebAssembly engine when it cannot. Every combination below works in every listed browser; the column only tells you which decoder does the work.
| Input | What it is | Chrome | Firefox | Safari | iOS |
|---|---|---|---|---|---|
| WAV | Raw PCM samples with a small header. Perfect fidelity, roughly 10 MB per stereo minute. | Native | Native | Native | Native |
| AIFF | Apple’s uncompressed PCM format — the WAV equivalent for Logic and Pro Tools. | Partial | Partial | Native | Native |
| CAF | Apple container used by older iOS Voice Memos. Usually holds ALAC, IMA4 or raw PCM. | Engine | Engine | Partial | Partial |
| FLAC | Lossless compression, typically 50–60% of WAV size, bit-identical when decoded. | Native | Native | Native | Native |
| Output | Encoder | Bitrates / depth | Sample rates | Tags |
|---|---|---|---|---|
| FLAC | flac | 16, 24-bit | 8–96 kHz | Yes + artwork |
| MP3 | libmp3lame | 32–320 kbps | 8–48 kHz | Yes + artwork |
| Opus | libopus | 16–256 kbps | 8–48 kHz | Yes |
| M4A | aac | 32–320 kbps | 8–48 kHz | Yes + artwork |
| WAV | pcm_s16le | 16, 24, 32-bit | 8–96 kHz | Yes |
- Max per file
- 400.0 MB
- Max per queue
- 4.00 GB
- Max duration
- 4:00:00
- Max archive
- 1.50 GB
These are enforced ceilings, checked before any decoding starts, not measured maximums — a file over the limit is rejected rather than allowed to exhaust the tab’s memory. Real-world capacity is lower on older phones, which is why the scheduler runs one file at a time on iOS and Safari.
Where your audio goes
Nowhere. Your file is read from disk into this browser tab with the File API, decoded and encoded by code running in that same tab, and handed back to you as a download. It is never transmitted.
That is a structural property of the application, not a policy promise: there are no API routes, no server actions and no third-party processing services in this project, so there is nothing capable of receiving a file. The page’s Content-Security-Policy also restricts connections to this origin, and the automated test suite includes a browser test that fails if any network request during import, preview, conversion or download carries media bytes.
The trade-off, stated plainly:results live in your tab’s memory until you download them. Closing or reloading the page discards them. There is nothing on a server to recover, because nothing was ever put there.
Troubleshooting
FLAC only saved 20% on my files.
Heavily limited, loud material has little redundancy for a lossless encoder to exploit. That is a property of the audio, not a fault. Quiet and sparse recordings often halve.
The WAV output option produced a file the same size.
WAV output only helps if you also reduce bit depth, sample rate or channel count — the format itself has no compression. The size estimate makes that obvious as you adjust the controls.
A big file was rejected before it started.
The per-file budget is 400 MB, enforced to keep the browser tab from running out of memory. Split long recordings first.
Frequently asked questions
Can WAV files be compressed without losing quality?
Yes — that is exactly what FLAC does. Decoding a FLAC returns the original samples bit-for-bit, verified by an internal checksum.
How much smaller will my WAV get?
FLAC typically 40–60% smaller. MP3 at 192 kbps around 86% smaller. Opus at 96 kbps around 93% smaller. The estimate updates as you change settings.
Should I lower the sample rate?
Only if the content justifies it. Speech recorded at 48 kHz loses nothing audible at 22.05 kHz; music does. It is not reversible, so decide deliberately.
Does compression happen on a server?
No. Every encoder runs as WebAssembly inside your browser tab, served from this domain.