WAV → MP3
WAV to MP3 converter
Uncompressed WAV audio is re-encoded to MP3 with LAME. This is a lossy step: the file gets roughly 8–11× smaller and some detail is discarded permanently.
…or drag files and folders here. Add as many as you like — everything is processed on this device.
.aif .aifc .aiff .wav .wave
In one paragraph
A stereo WAV at 44.1 kHz/16-bit costs about 10 MB per minute, which is why recorders, DAWs and screen-capture tools produce files too large to email. MP3 at 192 kbps holds the same minute in about 1.4 MB, and every phone, car stereo and browser made in the last twenty years can play it.
Sonic Batch decodes the RIFF header locally, hands the PCM to a self-hosted LAME build compiled to WebAssembly, and writes an MP3 with ID3v2.3 tags. Drop a whole session folder in at once — the queue processes as many files in parallel as your device can safely handle and gives you one ZIP at the end.
Does this change the audio quality?
WAV is uncompressed, so this is a first-generation lossy encode — the best-case scenario for MP3. At 192 kbps and above most listeners cannot pick the MP3 from the WAV on consumer speakers; at 320 kbps the difference is academic for anything but archival mastering.
- The MP3 cannot be converted back into the original WAV. Keep your WAV masters.
- MP3 supports 8–48 kHz only. A 96 kHz WAV is resampled to 48 kHz, and that is reported per file.
- LAME adds a short encoder delay; the MP3 may be a few milliseconds longer than the WAV.
A worked example
A 24-track recording session that has to fit in an email
- Drag the whole session folder onto the drop zone — WAV stems, room mics and all.
- Leave the Balanced preset (192 kbps, source sample rate, source channels).
- Switch the mono stems to Mono in the per-file settings so you are not paying for a duplicated channel.
- Press Convert all, then Download ZIP. The manifest lists each source file, its output size and any resampling that happened.
Which bitrate to pick
Use 192 kbps for anything with music in it — it is the point where MP3 stops being obviously lossy. Use 320 kbps if the file will be re-edited or re-encoded later, because every extra generation compounds. Use 96–128 kbps mono for pure speech such as interviews and lecture recordings; the file is a quarter of the size and speech has almost no high-frequency content to lose.
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 |
| Output | Encoder | Bitrates / depth | Sample rates | Tags |
|---|---|---|---|---|
| MP3 | libmp3lame | 32–320 kbps | 8–48 kHz | Yes + artwork |
- 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
My WAV will not load — it says the container is unsupported.
Some recorders write RF64 or BW64 files (WAV variants that break the 4 GB limit) or WAV files with a 32-bit float payload and a non-standard header. Sonic Batch falls back to the WASM engine for those, but files over the 400 MB per-file budget are rejected before decoding to protect your tab from running out of memory.
The output is mono when the input was stereo.
Check whether the Podcast/voice preset is active — it forces mono. Set Channels to “Same as source” to keep both channels.
Conversion is slower than I expected on my phone.
iOS Safari cannot use SharedArrayBuffer reliably, so Sonic Batch runs the single-threaded engine there and processes one file at a time. A 4-minute WAV takes roughly the length of the audio itself on an older iPhone.
Frequently asked questions
Does converting WAV to MP3 lose quality?
Yes. MP3 is a lossy codec: it discards audio information the psychoacoustic model predicts you will not hear. At 192 kbps and above the loss is generally inaudible on consumer playback, but it is permanent and cannot be undone by converting back to WAV.
How much smaller will the MP3 be?
Divide the WAV bitrate by the MP3 bitrate. A 44.1 kHz/16-bit stereo WAV is 1,411 kbps, so a 192 kbps MP3 is about 13% of the size — roughly 7× smaller. At 320 kbps it is about 23%.
Are my files uploaded anywhere?
No. The decoder and the LAME encoder both run inside your browser tab. There is no upload endpoint in this application, and the Content-Security-Policy blocks connections to any other origin.
Can I convert hundreds of WAV files at once?
Yes — that is what the queue is for. Add them all, set the output once with Apply to all, and use sequential download mode if you would rather have each MP3 saved as it finishes instead of holding a whole ZIP in memory.