How to compress sound clips for discord — free, in-browser
- Step 1Open discord-fit — Go to /audio-tools/discord-fit. The FFmpeg WebAssembly engine loads in the page automatically.
- Step 2Drop the sound file — Drag in one clip — WAV, FLAC, MP3, M4A, OGG, or Opus. Single file at a time. On free, it must be under 50 MB and 30 minutes.
- Step 3It reads the clip length — No options panel appears — there's nothing to set. The duration is decoded on load, and that drives the bitrate choice.
- Step 4Run the compression — Click to process. FFmpeg re-encodes to MP3 at the fitted bitrate. Short SFX finish almost instantly.
- Step 5Check the result — The panel shows input vs output size. A short SFX lands a few hundred KB to a few MB (capped at 320 kbps); a long track lands just under 25 MB. The filename gets a
-25mbsuffix. - Step 6Upload to Discord — Download the MP3 and attach it, or add it to a soundboard. It plays inline and is guaranteed under the free cap.
Sound-clip length → result (25 MB target)
Short SFX hit the 320 kbps ceiling and stay small; longer audio gets a fitted lower rate. The tool always snaps DOWN to keep the result under 25 MB.
| Clip type / length | Rate picked | Approx output | Notes |
|---|---|---|---|
| SFX one-shot, 5 s | 320 kbps (capped) | ~190 KB | Crisp, tiny |
| Soundboard line, 30 s | 320 kbps (capped) | ~1.1 MB | Full quality |
| Music sting, 2 min | 320 kbps (capped) | ~4.6 MB | Full quality |
| Ambient loop, 10 min | 320 kbps (capped) | ~22.9 MB | Right at ceiling |
| Full track, 15 min | 192 kbps | ~20.6 MB | Fitted down |
| Long mix, 30 min | 96 kbps | ~20.6 MB | Lossy for music |
Sound-clip prep — what to use before discord-fit
discord-fit only resizes. For editing or cleanup, use these siblings, then size the result.
| Goal | discord-fit? | Tool to use |
|---|---|---|
| Cut a clip out of a longer file | No | audio-trimmer |
| Add a fade in/out to an SFX | No | fade-in-out |
| Normalise loudness across clips | No | loudness-normalizer |
| Set an exact bitrate/format | No | bitrate-changer |
| Pick any custom target size | No | audio-compressor |
Tier limits
Both file-size and duration caps apply per file. Most sound clips are short and fit free comfortably.
| Tier | Max file size | Max duration | Files per run |
|---|---|---|---|
| Free | 50 MB | 30 min | 1 |
| Pro | 200 MB | 120 min | 10 |
| Pro-media | 100 GB | unlimited | 100 |
| Developer | 100 GB | unlimited | unlimited |
Cookbook
Typical sound-clip scenarios and the size the tool produces, derived from its duration→bitrate logic.
A lossless SFX master that's too big
A high-quality WAV SFX can exceed 25 MB despite being short. The tool returns a crisp 320 kbps MP3 a fraction of the size.
Input: explosion.wav 45 s 7.9 MB (PCM 24-bit/48k) (Under 25 MB already, but you want a compact shareable.) discord-fit (automatic): duration = 45 s -> wants huge rate -> capped at 320 kbps Output: explosion-25mb.mp3 45 s ~1.7 MB (MP3 320 kbps) Plays inline, tiny, full bandwidth.
A 15-minute ambient track over the cap
Longer music gets fitted to a lower bitrate. Acceptable for ambient/loop content.
Input: rain-loop.flac 15 min 95 MB (lossless) discord-fit (automatic): duration = 900 s -> wants ~224 kbps -> snaps DOWN to 192 kbps Output: rain-loop-25mb.mp3 15 min ~20.6 MB (MP3 192 kbps)
Soundboard one-liner
A short voice/SFX clip for a soundboard comes out small and full quality.
Input: airhorn.ogg 3 s 60 KB discord-fit (automatic): duration = 3 s -> capped at 320 kbps Output: airhorn-25mb.mp3 3 s ~120 KB (MP3 320 kbps)
Game capture audio
Audio pulled from a game clip (M4A/AAC) is sized to fit and made inline-playable.
Input: clutch-moment.m4a 8 min 34 MB discord-fit (automatic): duration = 480 s -> wants ~419 kbps -> capped at 320 kbps Output: clutch-moment-25mb.mp3 8 min ~18.3 MB (MP3 320 kbps)
Trim before sizing for a tight clip
If you only want a 20-second snippet from a long file, trim first — then discord-fit barely touches the quality.
Step 1 audio-trimmer: pull out 0:42-1:02 (20 s) Step 2 discord-fit on the 20-s clip: capped at 320 kbps -> ~780 KB Much better than sizing the whole 10-min file down.
Edge cases and what actually happens
Tiny SFX doesn't fill 25 MB
By designA 5-second sound effect comes out a few hundred KB at 320 kbps, not 25 MB. The tool sizes clips to fit the cap, it never pads them up to it. Short clips are simply small.
Already under 25 MB but you ran it anyway
Re-encodesThe tool always re-encodes to MP3, even if the input already fit. For an already-lossy SFX that's a second lossy pass. If it uploaded fine before, you didn't need to compress it — feed lossless sources when you do.
Music sounds lossy after sizing a long track
Expected for long musicA 30-minute mix only fits 25 MB at ~96 kbps, which is audibly lossy for music. For better quality, audio-splitter the track into parts and fit each at a higher rate, or trim to the segment you actually want to share.
Soundboard expects a specific format
MP3 onlyDiscord's soundboard and most bots accept MP3, which is what this tool outputs. If a specific integration needs OGG/Opus, transcode the fitted MP3 with bitrate-changer, which has a format selector.
Loud and quiet clips in a pack are uneven
Normalise firstdiscord-fit doesn't adjust loudness — it only resizes. To make a sound pack consistent in volume, run each clip through loudness-normalizer (EBU R128) before sizing.
Sound file over 50 MB on free
Blocked on freeA big lossless SFX master over 50 MB won't load on the free tier. Upgrade to Pro (200 MB) or export a smaller source. The 25 MB output target is separate from the input size limit.
Ambient loop longer than 30 minutes on free
Blocked on freeThe free duration cap is 30 minutes. A long ambient bed over that needs Pro (120 min) or splitting first. Size and duration are independent free-tier limits.
Clip needs a clean fade to loop seamlessly
Use fade-in-outdiscord-fit doesn't add fades or trim clicks. For a clean loop or to avoid an abrupt cut, apply fade-in-out first, then size the result.
Stereo SFX panning preserved
PreservedThe tool transcodes without forcing mono, so a stereo SFX keeps its panning. Channel count is unchanged — only the bitrate is reduced to fit.
Corrupt or empty clip
Decode errorAn empty or corrupt sound file fails to decode in FFmpeg and reports an error rather than producing output. Re-export from your editor and retry.
Frequently asked questions
How small does a sound clip need to be for Discord?
Under 25 MB on the free tier. Most short SFX and soundboard clips are far below that already; this tool is for the ones that aren't — long loops, lossless masters, or full tracks — and it sizes them automatically.
Will a short SFX lose quality?
Barely. Short clips are capped at MP3's 320 kbps ceiling, which is transparent for most sound effects. They come out small (a few hundred KB to a few MB), not padded up to 25 MB.
Do I choose a quality setting?
No — there are no settings. The tool derives the bitrate from the clip's length to fit 25 MB, then snaps down to a standard MP3 rate. Just drop the file.
Can I use the output on a Discord soundboard?
Yes. The output is standard MP3, which Discord's soundboard and most bots accept. It plays inline in chat too. If a particular integration insists on OGG/Opus, convert it with bitrate-changer.
What sound formats can I drop in?
WAV, FLAC, MP3, M4A (AAC), OGG, and Opus. Lossless WAV/FLAC SFX masters give the cleanest result. Everything comes back as MP3 sized to fit 25 MB.
Is my custom sound pack uploaded anywhere?
No. All processing runs in your browser via FFmpeg WebAssembly. Your clips never leave your device — there's no server upload, so private or custom sound packs stay private.
My music clip sounds lossy after compression — why?
If the clip is long (15+ minutes) it only fits 25 MB at a reduced bitrate, which is audible on music. Trim to the part you want with audio-trimmer, or split with audio-splitter and fit each part at a higher rate.
Can I make all clips in a pack the same volume?
Not with this tool — it only resizes. Run each clip through loudness-normalizer (EBU R128) first to even out levels, then size them.
Is it really free?
Yes. No account is needed for the free tier, which handles files up to 50 MB and 30 minutes — plenty for the vast majority of sound clips. Larger or longer files need a paid tier.
Why does the output have a -25mb suffix?
The tool appends -25mb to the filename so you can tell the Discord-ready copy apart from the original, e.g. airhorn-25mb.mp3. It marks the target the file was sized to.
Can I target a smaller size than 25 MB?
Not here — this tool is fixed at 25 MB. For a smaller custom target, use audio-compressor and type the size you want (0.5–500 MB).
Does it add a fade so my loop doesn't click?
No — discord-fit only resizes. Apply fade-in-out before sizing if you need a clean fade or seamless loop point.
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.