How to compress audio for whatsapp with zero upload
- Step 1Open the tool (the heavy lifting downloads once) — Loading the page fetches the FFmpeg WebAssembly engine into your browser. After that, the actual compression needs no further network access — the engine runs locally.
- Step 2Drop the confidential recording — Drag the MP3/WAV/FLAC/M4A/OGG/Opus/video file onto the dropzone. It's read directly from your disk and decoded in-browser to get the duration. Nothing is transmitted at any point.
- Step 3(Optional) Go offline for peace of mind — Because processing is local, you can disconnect from the network before running it. The encode completes from the already-loaded engine — verifiable proof the file isn't being uploaded.
- Step 4Run the automatic 16 MB compression — No settings. The tool sizes the MP3 bitrate to your clip's length so the output stays under 16 MB, then re-encodes with FFmpeg WebAssembly entirely on-device.
- Step 5Download the MP3 — it never left the browser — Save
yourfile-16mb.mp3. The only copy that ever existed off your disk is the one in your own browser's memory, which is cleared when you close the tab. - Step 6Need related private edits? — Other audio tools are equally local: redact sensitive segments with pii-redactor, denoise privately with ai-noise-reducer, or trim before sending with audio-trimmer — all in-browser, no upload.
What 'no upload' actually means here
How the in-browser model differs from typical online compressors for a sensitive file.
| Aspect | This tool (in-browser) | Typical 'online' compressor |
|---|---|---|
| Where the file goes | Stays on your device; read from disk locally | Uploaded to the site's server |
| Who can access it | Only you, in your own browser tab | The service, and anyone with server access |
| Network needed to compress | No (engine loads once, then offline-capable) | Yes — the file must reach the server |
| Account required | No | Often yes |
| After processing | Cleared when you close the tab | Subject to the service's retention policy |
| Engine | FFmpeg 8.1 WebAssembly in your browser | Server-side FFmpeg or similar |
Bitrate the tool applies, by length
Same automatic sizing as all whatsapp-fit pages; output always ≤ 16 MB.
| Duration | Selected bitrate | Approx. output |
|---|---|---|
| 5 min | 320 kbps (cap) | ≈ 11.4 MB |
| 10 min | 192 kbps | ≈ 13.7 MB |
| 30 min | 64 kbps | ≈ 13.7 MB |
| 60 min | 32 kbps | ≈ 13.7 MB |
Input limits by tier
Bounds on the source file; the compressed MP3 is always ≤ 16 MB.
| Tier | Max input size | Max duration | Files at once |
|---|---|---|---|
| Free | 50 MB | 30 min | 1 |
| Pro | 200 MB | 120 min | 10 |
| Pro-media | 100 GB | Unlimited | 100 |
| Developer | 100 GB | Unlimited | Unlimited |
Cookbook
Privacy-sensitive scenarios where keeping the file local is the whole point. Bitrates from the standard formula (floor of 16 MB × 8 × 0.96 ÷ seconds, snapped to a standard MP3 value).
Confidential interview, compressed offline
A journalist sizes a 35-minute source interview for WhatsApp without it ever touching a server — and disconnects from wifi to be sure.
Input: interview.wav (35:00, ~178 MB) [Pro] Wifi: OFF (engine already loaded) Math: 16MB*8*0.96 / 2100s = ~61 kbps -> snap 48 kbps Output: interview-16mb.mp3 (48 kbps, 35:00, ~12.0 MB) Network bytes sent: 0
Legal voice note kept on-device
A short privileged note compresses to a small MP3 with no account and no upload.
Input: note.m4a (8:00, ~15 MB) Math: 16MB*8*0.96 / 480s = ~268 kbps -> snap 256 kbps Output: note-16mb.mp3 (256 kbps, 8:00, ~14.6 MB) Server copy: none
Unreleased music demo for a bandmate
An artist shares a rough mix without exposing it to a third-party server.
Input: demo.flac (12:00 lossless, ~120 MB) [Pro] Math: 16MB*8*0.96 / 720s = ~179 kbps -> snap 160 kbps Output: demo-16mb.mp3 (160 kbps, 12:00, ~13.7 MB) Note: reference quality; nothing uploaded
Redact, then size — both local
A sensitive recording with names in it is redacted first, then sized for WhatsApp, all in the browser.
Step 1: pii-redactor mutes the named segments (local) Step 2: this tool sizes the redacted file under 16 MB (local) Result: shareable MP3, sensitive parts removed, zero upload See: /audio-tools/pii-redactor
Proof of locality: pull the network mid-job
Because the engine is already in the browser, disconnecting before you click run and still getting output confirms nothing is being sent.
1. Load the page (engine downloads once) 2. Drop the file 3. Disable network 4. Run -> output downloads normally => the file was processed entirely on-device
Edge cases and what actually happens
First load needs the network
ExpectedThe FFmpeg WebAssembly engine downloads when the page first loads. After that, compression runs locally and you can go offline. If the page itself won't load, you have no engine yet — that's the only network dependency.
Closing the tab loses the in-memory copy
By designThe decoded audio lives only in the browser tab's memory and is discarded when you close it. Download the output before closing. Nothing is persisted server-side, which is precisely the privacy guarantee.
You assumed it kept the original format for confidentiality
MP3 onlyOutput is always MP3 regardless of input — there's no option to keep WAV/FLAC. The conversion is local, so privacy is unaffected, but if your workflow requires the original lossless format, this size tool isn't the right one; use bitrate-changer or a converter.
Sensitive content in tags or filename
Check manuallyThe re-encode doesn't carry ID3 tags over, but the original filename is reused (with a -16mb suffix). If the filename itself is sensitive, rename the download before sharing. The audio content is the only thing the tool processes.
Recording exceeds the tier input limit
RejectedFree tier caps inputs at 50 MB / 30 minutes. A long uncompressed interview may exceed that. Trim locally with audio-trimmer (also no upload) or upgrade — the privacy model is the same across tiers.
You want to redact before sharing
SupportedRemove or mute sensitive segments first with pii-redactor, which also runs in-browser, then size the result with this tool. The whole chain stays on your device.
Output quality low on a long sensitive recording
By designFitting a long file under 16 MB lowers the bitrate. For a confidential recording where intelligibility matters more than fidelity (e.g. an interview transcript source), low-bitrate MP3 is usually fine. Split or trim if you need higher quality.
Counter logged for signed-in users
No content storedIf you're signed in, a usage counter increments (file processed — no audio content, no filename) for dashboard stats. The audio itself is never transmitted. Use the tool signed out for no counter at all.
Frequently asked questions
Is my audio really never uploaded?
Correct. Compression runs in your browser via FFmpeg 8.1 WebAssembly. The file is read from disk, processed in memory, and downloaded back — it never reaches a server. You can verify by disconnecting from the network after the page loads; the encode still completes.
Do I need an account?
No. You can compress without signing in, so no identity is tied to the file. Signing in only adds a usage counter (no content) for dashboard stats and unlocks larger input limits.
Can I use it fully offline?
After the first load, yes. The page downloads the FFmpeg WebAssembly engine once; subsequent compression needs no network. Drop the wifi before running it if you want certainty that nothing leaves the device.
What happens to the file after I close the tab?
It's gone — the decoded audio existed only in the tab's memory and is cleared on close. There's no server-side copy and no retention policy to worry about. Download your output first.
Does it keep my original lossless format for archival?
No. The output is always MP3, sized under 16 MB for WhatsApp. The processing is still fully local. If you need a lossless local conversion instead, use bitrate-changer or a converter.
Can I redact sensitive parts before sharing?
Yes. Use pii-redactor to mute or remove segments first — also in-browser — then size the result here. The entire workflow stays on your machine.
Will sensitive metadata leak?
The re-encode doesn't carry ID3 tags over, so embedded tag data isn't propagated. The original filename is reused with a -16mb suffix, so rename the download if the filename itself is sensitive.
Is the privacy model the same on the free tier?
Yes — every tier processes in-browser with no upload. Higher tiers only raise input size/duration limits and batch counts; they don't change where processing happens.
Will the recipient be able to play it without special software?
Yes. The output is MP3, which WhatsApp plays inline on iOS and Android, and which opens in any media player. No plugin or app is needed on the other end.
What inputs are supported?
MP3, WAV, FLAC, M4A, OGG, Opus, and video files. Video has its audio track extracted locally and sized under 16 MB.
How long a recording can I compress privately for free?
Up to 30 minutes / 50 MB on Free. Pro raises it to 120 minutes / 200 MB; Pro-media and Developer allow up to 100 GB with no duration cap — all still processed locally.
Does signing in send my audio anywhere?
No. Signing in increments a usage counter that records only that a file was processed — never the audio, the filename, or any content. The recording stays in your browser regardless.
Privacy first
Every JAD Audio tool runs entirely in your browser via FFmpeg (WebAssembly) and RNNoise. Your audio files never leave your device — verified by zero outbound network requests during processing.