How to downsample audio — reduce sample rate free, no upload
- Step 1Open the converter — Open the sample-rate-converter tool. FFmpeg 8.1 loads as WebAssembly in the page.
- Step 2Drop the high-rate file — Drag in your 48/96/192 kHz file (
.wav,.flac,.mp3,.m4a,.aiff,.ogg,.opus). The card shows the source rate. - Step 3Confirm it's worth downsampling — If the card shows a high rate like
96,000 Hz, dropping to 44.1 kHz meaningfully shrinks the file. If it already reads44,100 Hz, the web page can't go lower. - Step 4Run the conversion — Process the file. The tool resamples to 44.1 kHz and writes a 16-bit PCM WAV, with FFmpeg's anti-alias filtering applied automatically.
- Step 5Download the downsampled WAV — Download the 44.1 kHz WAV. To shrink further on disk, follow with a compressed format.
- Step 6For 16 kHz / 8 kHz speech or telephony — The web page stops at 44.1 kHz. For 16 kHz use video-to-wav (16 kHz option) for video sources, or JAD's programmatic API (enum includes 8000 and 16000). See the Whisper 16 kHz guide.
Why downsample, and to what
Goal-to-target map. Speech/telephony rates require the programmatic path; the web page outputs 44.1 kHz.
| Goal | Typical target rate | Reachable via web page? | How to reach it |
|---|---|---|---|
| Smaller music file from hi-res | 44.1 kHz | Yes | This in-browser tool |
| Speech-to-text (Whisper etc.) | 16 kHz | No | Programmatic API / video-to-wav 16 kHz |
| Telephony / IVR | 8 kHz | No | Programmatic API (enum includes 8000) |
| Legacy device / small embedded | 22.05 kHz | No | Programmatic API (enum includes 22050) |
File-size effect of downsampling (approximate, 16-bit PCM WAV)
Rough relative size — WAV size scales with rate x channels x bit depth. Illustrative, not exact.
| From → to | Channels | Relative size | Why |
|---|---|---|---|
| 96 kHz → 44.1 kHz | stereo | ~46% of original | Rate roughly halves; bit depth/channels unchanged |
| 48 kHz → 44.1 kHz | stereo | ~92% of original | Small rate drop, small saving |
| 48 kHz stereo → 16 kHz mono | → mono | ~17% of original | Lower rate + half the channels (needs API + channel step) |
| 44.1 kHz → 8 kHz mono | → mono | ~9% of original | Telephony spec; API target 8000 |
Tier limits for this tool
From lib/tier-limits.ts (audio family). Duration is a separate cap from file size.
| 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
Downsampling jobs and which path actually reaches the target rate. The web page always lands on 44.1 kHz WAV.
Shrink a 96 kHz studio capture for sharing
A hi-res 96 kHz WAV is large. Drop to 44.1 kHz to roughly halve it while staying full-quality for normal listening.
Input: session_96k.wav 96,000 Hz, 2ch, 16-bit Output: session_96k.wav 44,100 Hz, 2ch, 16-bit PCM Size: ~46% of the original
48 kHz interview → smaller archive file
A 48 kHz interview only shrinks a little at 44.1 kHz. For a real size win you also want a lower rate (16 kHz) and mono — which means the API path, then compression.
Web page: interview_48k.wav → 44,100 Hz WAV (~92% size) For real savings: API target 16000 + mono, then wav-to-mp3 → a fraction of the size.
Telephony 8 kHz target (programmatic path)
IVR and PSTN-style systems often want 8 kHz. The web page can't reach 8 kHz; the API enum includes 8000.
Web page: cannot output 8 kHz (44.1 kHz only).
API request: { sampleRate: 8000, format: "wav" }
Result: 8,000 Hz WAV suitable for telephony ingest.Anti-aliasing done right
Naively throwing away samples folds high frequencies into the audible band as harsh artefacts. FFmpeg low-pass filters before decimating so the downsample stays clean.
Bad (naive decimation): 20 kHz tone in a 48 kHz file dropped to 16 kHz folds to ~4 kHz aliasing. FFmpeg swresample: low-pass first → no audible alias.
Then compress for distribution
After downsampling to 44.1 kHz WAV, convert to MP3 or FLAC to shrink the file on disk further.
downsampled.wav 44,100 Hz → wav-to-mp3 (128 kbps) → small shareable MP3 → wav-to-flac → lossless, ~50-60% size
Edge cases and what actually happens
Wanting 16 kHz or 8 kHz from the web page
Not supported hereThe in-browser tool's target is fixed at 44.1 kHz. For 16 kHz, use video-to-wav (16 kHz option) or JAD's programmatic API; for 8 kHz, use the API (enum includes 8000).
Source already at 44.1 kHz
Cannot go lowerThe web page only resamples toward 44.1 kHz, so a 44.1 kHz file cannot be downsampled further here. Use the programmatic API to reach 22.05 / 16 / 8 kHz.
Aliasing from naive decimation
AvoidedDropping samples without filtering folds frequencies above the new Nyquist limit back into the audible range. FFmpeg's swresample applies the anti-alias low-pass automatically, so the output is clean.
Expecting a smaller file but output is WAV
Two-stepWAV is uncompressed, so a 44.1 kHz WAV may not be dramatically smaller than the source. For a real size win, downsample then compress with wav-to-mp3 or wav-to-flac.
Speech file is stereo when the model wants mono
Extra stepDownsampling does not change channel count. Speech models usually want mono; combine an API call (or channel-splitter / a mono export) with the rate change to get true 16 kHz mono.
File over tier size or duration
RejectedFree is 50 MB / 30 min; Pro is 200 MB / 120 min. Long voice files can hit the minutes cap before the MB cap — split with audio-splitter first.
Safari FLAC/Opus preview fails
PreservedSafari's Web Audio decoder may not render the waveform/metadata for some FLAC/Opus sources, but FFmpeg decodes and downsamples them independently, so the conversion still runs.
Over-aggressive downsample muffles speech
Expected8 kHz keeps only ~4 kHz of bandwidth — telephony quality, intelligible but dull. 16 kHz (≈8 kHz bandwidth) is the better speech-model target. Pick the rate the downstream system actually requires.
Upsampling by mistake
No benefitIf you point the API at a rate higher than the source, you upsample — which adds no real detail. Downsampling is about reducing rate; only go up when a system strictly requires it.
Frequently asked questions
What does 'downsample' actually mean?
Lowering the sample rate — fewer samples per second. It shrinks files and meets specs like 16 kHz speech or 8 kHz telephony. Done properly it includes anti-alias filtering so no high-frequency content folds back into the audible band.
Can the browser tool downsample to 16 kHz?
No. The in-browser tool's target is fixed at 44.1 kHz with no rate picker. For 16 kHz, use video-to-wav (which offers a 16 kHz option) for video sources, or JAD's programmatic API whose enum includes 16000.
Then what does the web page downsample to?
44.1 kHz, 16-bit PCM WAV. So it down-converts 48/96/192 kHz files to 44.1 kHz — useful for shrinking hi-res captures, but not for reaching true speech/telephony rates.
How do I reach 8 kHz telephony rate?
Through JAD's programmatic API — its sample-rate enum includes 8000. The web page cannot output 8 kHz.
Does downsampling reduce quality?
It removes frequency content above the new Nyquist limit (half the new rate). Going from 96 kHz to 44.1 kHz discards only ultrasonic content — inaudible. Going to 16 kHz or 8 kHz audibly narrows bandwidth, which is fine and expected for speech/telephony.
Will my file get smaller?
Lowering the rate reduces the raw sample count, but the web output is uncompressed WAV, so the saving from a small rate drop is modest. For a real size win, downsample then compress with wav-to-mp3 or wav-to-flac.
Is there anti-aliasing, or does it just drop samples?
FFmpeg's swresample applies a proper low-pass filter before reducing the rate, so frequencies that would alias are removed first. It does not naively decimate.
Does downsampling make my stereo file mono?
No — channel count is preserved. If a speech model needs mono, you also need a channel step; the programmatic API can set channels, or use channel-splitter.
Is anything uploaded?
No. Decode, resample, and encode all happen in your browser via WebAssembly. Call recordings and interviews stay on your device.
What's the largest file I can downsample for free?
Free tier: 50 MB and 30 minutes, one file. Pro: 200 MB / 120 minutes / 10 files. Pro + Media and Developer: 100 GB with unlimited duration.
Why does my 8 kHz output sound muffled?
8 kHz keeps only about 4 kHz of bandwidth — that is telephony quality by definition. If it sounds too dull for your use, target 16 kHz instead, which keeps roughly 8 kHz of bandwidth.
Which tools pair well with downsampling?
video-to-wav for 16 kHz from video, wav-to-mp3 / wav-to-flac to compress, channel-splitter for mono, plus the Whisper 16 kHz guide and the no-upload privacy guide.
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.