How to shrink an audio file to a specific size in mb
- Step 1Read the exact size requirement — Note the ceiling the destination demands — "under 5 MB," "max 16 MB," etc. Treat it as a hard cap and plan to land just below it. The output suffix will record the target you used.
- Step 2Drop the audio file — Drag your MP3, WAV, FLAC, M4A, OGG, Opus or video file onto the dropzone. It loads in-browser. JAD reads the duration, which combines with your target to set the bitrate.
- Step 3Enter the exact target in MB — Type the number into Target size (MB) — for a "under 5 MB" rule, enter
5(or4.7for extra safety). The field steps in 0.5 MB increments and accepts 0.5 to 500 MB. - Step 4Run the shrink — Click Run Compress to Size. FFmpeg 8.1 re-encodes to a CBR MP3 at the snapped rate. The whole stream is decoded and re-encoded, so longer files take proportionally longer.
- Step 5Verify the exact output size — Check Output on the result card. It should sit at or under your target. If it's notably under, the snap-down left headroom — nudge the target up and re-run for better quality while still meeting the cap.
- Step 6Download the sized copy — Press Download to save
name-Nmb.mp3. The suffix labels which target produced it, handy when you keep a 5 MB and a 16 MB version of the same recording.
Reference: snapped bitrate per common target
The standard MP3 rate JAD snaps to for popular size targets at each duration. '320 (capped)' means the computed rate exceeded the 320 kbps ceiling.
| Target | 3 min | 10 min | 30 min | 60 min |
|---|---|---|---|---|
| 5 MB | 192 kbps | 64 kbps | 16 kbps | 8 kbps |
| 8 MB | 320 kbps | 96 kbps | 32 kbps | 16 kbps |
| 16 MB | 320 kbps (capped) | 192 kbps | 64 kbps | 32 kbps |
| 25 MB | 320 kbps (capped) | 320 kbps | 96 kbps | 48 kbps |
How the size math resolves
The exact steps JAD runs to turn a target into an output, so you can predict the result before pressing Run.
| Step | What happens | Example (8 MB, 20 min) |
|---|---|---|
| 1. Bits from MB | target × 8,388,608 | 8 → 67,108,864 bits |
| 2. Reserve overhead | × 0.96 (~4% for container) | → 64,424,509 bits |
| 3. Divide by duration | ÷ seconds → raw bitrate | ÷ 1200 s → ~53.7 kbps |
| 4. Snap down | to nearest standard rate | 53.7 → 48 kbps |
| 5. Encode CBR MP3 | libmp3lame at that rate | out ~7.2 MB, under 8 MB |
Tier limits for this tool
Audio family limits from JAD's tier configuration. Size and duration are both enforced per file.
| Tier | Max file size | Max duration | Files per job |
|---|---|---|---|
| Free | 50 MB | 30 min | 1 |
| Pro | 200 MB | 120 min | 10 |
| Pro + Media | 100 GB | Unlimited | 100 |
| Developer | 100 GB | Unlimited | Unlimited |
Cookbook
Hit-an-exact-number scenarios. Each shows the target, the snapped bitrate, and where the output lands relative to the requirement.
Portal demands 'under 5 MB'
A submission portal rejects anything 5 MB or larger. Targeting 5 MB and letting the snap-down do its job lands safely below.
Source: audition.wav · 4 min · 20 MB (PCM) Requirement: under 5 MB → Target 5 MB Math: 5 MB → ~160 kbps after snap-down Output: audition-5mb.mp3 · ~4.6 MB · 160 kbps Meets 'under 5 MB' with margin; music quality strong.
Exactly fit a 16 MB forum cap
A forum allows up to 16 MB. A 30-minute talk fits at 64 kbps — perfectly clear for speech.
Source: talk.mp3 · 30 min · 41 MB (192 kbps) Cap: 16 MB → Target 16 MB Math: 16 MB → ~71 kbps → snaps DOWN to 64 kbps Output: talk-16mb.mp3 · ~14.4 MB · 64 kbps Well under 16 MB; voice fully intelligible.
Keep two sized copies of one recording
The filename suffix makes it trivial to keep a small and a large version side by side.
Source: demo.flac · 3 min · 31 MB Run 1: Target 5 MB → demo-5mb.mp3 (~4.6 MB, 192 kbps) Run 2: Target 16 MB → demo-16mb.mp3 (~6.4 MB, 256 kbps) Both saved with self-documenting names — no manual renaming.
Requirement smaller than the floor allows
A very long file targeted at a tiny size bottoms out at the 8 kbps floor. The output meets the size but quality is the trade-off.
Source: sermon.mp3 · 75 min · 103 MB Requirement: under 5 MB → Target 5 MB Math: 5 MB → ~7 kbps → snaps to FLOOR 8 kbps Output: sermon-5mb.mp3 · ~4.7 MB at 8 kbps... actually at 8 kbps for 75 min ≈ 4.5 MB — fits, but very rough. Consider splitting to keep a usable bitrate.
Short clip can't be made smaller than the 320 cap implies
For short files the bitrate caps at 320 kbps, so the output may be far under a generous target with no further shrink available.
Source: sting.wav · 15 s · 2.6 MB Requirement: under 8 MB → Target 8 MB Math: 8 MB → ~4500 kbps → CAPPED at 320 kbps Output: sting-8mb.mp3 · ~0.6 MB · 320 kbps Already far under 8 MB; the cap was never binding.
Edge cases and what actually happens
Required size is below the 8 kbps floor for your duration
Quality lossIf your file is long enough that even the 8 kbps floor exceeds the target, the floor still applies and the output may sit slightly above the requested size (or right at it but very rough). For long recordings into tiny caps, split with Audio Splitter so each part can use a usable bitrate, or strip silence first with Silence Stripper.
Output lands a little over an exact cap
ExpectedMP3 frame padding plus ID3 tags add a few KB beyond the audio data. On a strict "under N MB" rule, target a hair below N (4.7 MB for under 5 MB) so the result is guaranteed to satisfy a strict-less-than check rather than equalling or exceeding it.
Target larger than source
By designIf the target exceeds the file size, the computed bitrate tops 320 kbps and is capped there, producing a 320 kbps MP3 that may be smaller than your target. The tool only ever reduces quality to a ceiling — it can't grow a file meaningfully. If the source already meets the requirement, skip compression.
WAV/FLAC output behaves differently
By designThe browser tool outputs MP3, which is bitrate-bound so size math is predictable. The processor/API can output WAV or FLAC via the format option, but those formats aren't bitrate-controlled the same way, so a WAV won't honour a small MB target. Keep MP3 for exact-size work.
Lossy-to-lossy re-encode
Generational lossShrinking an already-compressed MP3 to a smaller size stacks artefacts. If the original WAV/FLAC is available, size from that for cleaner audio at the same target.
File over the free 50 MB / 30 min cap
Tier limitFree tier blocks inputs above 50 MB or 30 minutes before processing. The duration limit is checked separately from size. Pro raises both (200 MB / 120 min); Pro + Media removes the duration cap entirely.
Wrong duration metadata throws off the size
Edge caseIf a VBR source has a missing or broken duration header, JAD's size math uses a wrong duration and the output misses the target. Re-encode to a clean CBR file with Bitrate Changer first, then size it here for an accurate result.
You needed loudness, not size
Wrong toolThis tool only changes the bitrate to hit a size. It won't make quiet audio louder or even out levels. For that, run Loudness Normalizer or Volume Normalizer first, then shrink the result.
Frequently asked questions
Can I hit an exact file size?
You can reliably land at or just under a target. JAD snaps the bitrate down to a standard step, so the output meets a "under N MB" rule rather than overshooting. It won't land on an exact byte count, because bitrate steps are discrete — but for size caps that's exactly what you want.
How do I compress audio to under 5 MB?
Drop the file, set Target size (MB) to 5 (or 4.7 for a strict-under check), and run. JAD computes the bitrate from the duration and snaps down so the result is at or below 5 MB. The output is saved as name-5mb.mp3.
What targets do most people use?
5 MB and 8 MB for forms and CMS uploads, 16 MB for WhatsApp-style limits and forums, 25 MB for Gmail and Discord. The reference table above shows the bitrate you'll get at each for common durations.
Why is my output smaller than the target?
Because the bitrate snaps down to a standard rate. If your computed rate falls between standards (say 71 kbps), it drops to the lower one (64 kbps), producing a smaller file. Raise the target and re-run if you want to use that headroom for better quality.
Can the result come out over my cap?
Only marginally — MP3 padding and metadata add a few KB. For strict "under N" requirements, target slightly below N so the file is guaranteed to satisfy a less-than check.
What does the '-5mb' in the filename mean?
It's the target you requested, embedded automatically so sized copies are self-documenting. A file compressed to 16 MB saves as name-16mb.mp3. Handy when you keep several sizes of the same recording.
Does the file upload anywhere?
No. All processing is in-browser via FFmpeg 8.1 (WebAssembly). The audio never leaves your device. See the no-upload size reducer guide for the privacy specifics.
What if even the lowest bitrate can't hit my target?
That happens with long files and tiny targets — the 8 kbps floor sets a minimum size for a given duration. Split the recording with Audio Splitter so each part can meet the size at a usable bitrate, or strip silence with Silence Stripper to cut duration.
Can I choose a bitrate directly instead?
Yes, with a different tool: Bitrate Changer lets you pick 64–320 kbps in CBR or VBR. Use it when your constraint is quality; use this tool when your constraint is an exact size.
How big a file can I shrink for free?
Free tier: up to 50 MB and 30 minutes. Pro: 200 MB / 120 min with batches of 10. Pro + Media: 100 GB with no duration cap. Both size and duration are enforced per file.
Will shrinking ruin music?
Below ~128 kbps music starts to thin, and below 64 kbps it degrades noticeably. Voice tolerates far lower rates. If a tiny target forces music below 128 kbps, consider a higher target or trimming the clip so a better bitrate fits.
Can I script exact-size compression?
Yes. Pair the @jadapps/runner and POST to the local audio-compressor endpoint with targetMb for each file. Processing stays on your machine, so you can size a whole batch to a fixed requirement programmatically.
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.