How to silence remover tool — zero upload, browser-based
- Step 1Load the tool, then go offline if you like — Open the silence-stripper tool. Once the page and FFmpeg WASM have loaded, the actual strip runs locally — the processing step needs no network. Drop your sensitive recording; it is read into the tab, not sent anywhere.
- Step 2Set the threshold (dB) — Threshold (dB) decides what counts as silence. The default
-40 dBsuits a clean recording; raise it toward-35for a room with hum, lower it toward-48to protect very quiet, considered speech. Range-80…-10, step 1. - Step 3Set the minimum silence (s) — Min silence (s) is the cushion left at each cut. Keep it generous (
0.6–0.8 s) for legal or clinical audio so the timing of pauses in the record is preserved. Range0.1…5, step 0.1. - Step 4Run the strip locally — FFmpeg applies
silenceremovewithdetection=peakon your CPU: leading silence trimmed once, internal and trailing silence tightened. It removes only time — it does not redact, mask, or alter spoken content. - Step 5Verify the output never left the tab — Because the processing is in-tab WASM, you can confirm with the browser's network panel that no audio is sent during processing. The result is generated locally and offered as a direct download.
- Step 6Download the tightened file — The output downloads as
recording-tightened.extin your original format. If you also need to remove spoken personal data, follow with pii-redactor — and remember the silence stripper itself never touches the content of speech.
The two real controls
These are the only options the silence remover exposes — there is no padding control, no format picker, and no preset menu. Verified against the tool's client component and the FFmpeg filter in the processor.
| Control | FFmpeg parameter | Default | Range / step | What it does |
|---|---|---|---|---|
| Threshold (dB) | start_threshold + stop_threshold (detection=peak) | -40 dB | -80 to -10, step 1 | How quiet a section must get to count as silence |
| Min silence (s) | start_silence + stop_silence | 0.5 s | 0.1 to 5, step 0.1 | How much silence is left behind at each cut — the only 'cushion' available; there is no separate padding option |
What stays on your device vs. what doesn't
The privacy model in concrete terms. The audio strip is fully client-side; only an anonymous processed-counter may be recorded for signed-in dashboard stats.
| Item | Leaves your device? | Detail |
|---|---|---|
| Your audio file | No | Decoded and processed in-tab via FFmpeg WASM; never uploaded |
| The tightened output | No | Generated locally and offered as a direct download |
| Threshold / min-silence settings | No | Applied locally as FFmpeg filter arguments |
| Tool/runtime code + WASM | Downloaded once | The page and FFmpeg core load from the network; processing afterward is local |
Tier limits (privacy guarantee is identical at every tier)
The tool requires the Pro tier or higher. The no-upload model applies regardless of tier; only the size/duration caps change.
| Tier | Max file size | Max duration | Files per batch |
|---|---|---|---|
| Pro (minimum) | 200 MB | 120 min | 10 |
| Pro-media | 100 GB | Unlimited | 100 |
| Developer | 100 GB | Unlimited | Unlimited |
Cookbook
Recipes for confidential audio where the no-upload guarantee is the whole point. The stripper only removes silence — it does not redact speech, so pair it with the right tool when personal data must be removed.
Tighten a therapy session recording locally
A counselling session with long reflective pauses. Keep a generous cushion so the therapeutic silences aren't erased, and confirm nothing uploads.
Input: session-2026-06.wav (52 min)
Settings: Threshold -45 dB · Min silence 0.8 s
FFmpeg applies (locally, in-tab):
silenceremove=start_periods=1:start_silence=0.8:start_threshold=-45dB:
stop_periods=-1:stop_silence=0.8:stop_threshold=-45dB:detection=peak
Output: session-2026-06-tightened.wav (49 min)
-> only dead air trimmed; reflective pauses keptCondense a legal deposition without uploading
A deposition with setup and waiting silences. A larger cushion keeps the timing of on-record pauses intact for the transcript.
Input: deposition.wav (118 min) // under Pro's 120 min cap Settings: Threshold -42 dB · Min silence 0.8 s Output: deposition-tightened.wav (104 min) -> waiting/setup silences removed; spoken pauses preserved. Check the network panel: no audio sent during processing.
Tighten medical dictation, then redact (two tools)
Dictation often needs both: remove the dead air, AND remove spoken patient identifiers. The stripper does the first; pii-redactor does the second.
Step 1 - silence-stripper (this tool): dictation.wav -> dictation-tightened.wav (-40 dB, 0.6 s) // removes pauses only; speech content untouched Step 2 - pii-redactor (/audio-tools/pii-redactor): dictation-tightened.wav -> personal data handled // the stripper does NOT redact — use the redactor for that
Keep the evidentiary format intact
An evidentiary WAV must not be silently transcoded to a lossy format. The stripper preserves the format, so the chain of custody isn't broken by a quality change.
Input: evidence.wav (24-bit, 48 kHz) Settings: Threshold -48 dB · Min silence 1.0 s Output: evidence-tightened.wav (still WAV, same sample rate) -> no format selector means no accidental MP3 conversion; only the silent regions are removed
Verify offline operation
Prove to a compliance reviewer that the audio never leaves the machine by watching the network during processing.
1. Load /audio-tools/silence-stripper (WASM downloads once) 2. Open the browser Network panel 3. Drop the file and run the strip 4. Observe: no audio request is made during processing (only the initial page/WASM/code loads appear) -> confirms client-side, no-upload processing
Edge cases and what actually happens
Expecting it to bleep or remove spoken personal data
Not supportedThe silence remover only removes silence — it never alters, masks, or removes spoken content. If you need to redact names, numbers, or other personal data spoken aloud, that's a different job: use pii-redactor. Running the silence stripper does not anonymise the recording.
Threshold below the noise floor — nothing cut
By designIf the room tone is louder than the threshold, FFmpeg sees no silence and the output equals the input. Raise the threshold (-40 → -35) until the gaps register. This is level-based detection=peak behaviour, not a failure.
Reflective pause in a session gets shortened
ExpectedLong therapeutic or considered pauses sit below the threshold and will be tightened to the Min silence cushion. For clinical/legal audio raise Min silence to 0.8–1.2 s so the timing of on-record pauses is preserved.
Quiet speaker's words clipped
ExpectedA softly-spoken passage can dip below the threshold and be treated as silence. Lower the threshold magnitude (-40 → -48) to protect quiet speech, accepting that fewer gaps are cut. For sensitive records, err on the conservative side.
Evidentiary WAV stays WAV
PreservedBecause there's no format selector, a 24-bit/48 kHz evidentiary WAV is written back as WAV at the same sample rate — only the silent regions removed. No accidental lossy conversion, which matters for chain-of-custody and clinical archives.
File exceeds the Pro 200 MB / 120 min cap
RejectedLong depositions or sessions can exceed Pro's caps (200 MB size, 120 min duration). Split locally with audio-splitter and strip each part, or use Pro-media (100 GB, unlimited duration) — the no-upload guarantee is identical at every tier.
Page needs the network to load (but not to process)
ExpectedThe tool code and FFmpeg WASM core download from the network the first time you load the page. After that, the strip itself runs locally with no audio leaving the tab. You can confirm with the browser network panel that no file is uploaded during processing.
MP3 input is re-encoded to apply the cut
ExpectedOutput matches input format, so an MP3 confidential recording is re-encoded once via libmp3lame to write the cut. For lossless preservation, work from a WAV original where possible so no quality is lost beyond the removed silence.
Frequently asked questions
Does this silence remover really not upload my audio?
Correct. FFmpeg 8.1 is compiled to WebAssembly and runs inside your browser tab, so your file is decoded and processed on your own CPU and never uploaded. You can verify this in the browser's network panel: no audio request is made during processing — only the initial page, code, and WASM core load from the network.
Is it suitable for confidential audio like therapy or legal recordings?
Yes — that's the design goal. Because nothing is uploaded and no server-side copy is made, it suits therapy sessions, depositions, and medical dictation. Note it only removes silence; if you also need to remove spoken personal data, use pii-redactor afterward.
Can it work fully offline?
The processing step is local and needs no network, but the page and FFmpeg WASM core must download the first time you open the tool. Once loaded, you can run the strip without sending any audio. The browser network panel will show no audio request during processing.
Does it redact or remove what people say?
No. The silence remover only removes silent regions — it never alters or removes spoken content, so it does not anonymise a recording. To remove names, numbers, or other personal data spoken aloud, use the separate pii-redactor tool.
What threshold and minimum-silence should I use for sensitive audio?
Err conservative: a stricter threshold like -45/-48 dB and a larger Min silence of 0.8–1.2 s protect quiet speech and preserve the timing of on-record pauses in legal or clinical audio. Raise the threshold only if a noisy room means nothing is being cut.
Will my evidentiary or clinical WAV be converted to a lossy format?
No. There is no format selector — output matches input, so a 24-bit/48 kHz WAV is written back as WAV at the same sample rate with only the silent regions removed. That avoids an accidental lossy conversion that could compromise chain-of-custody or clinical archives.
Is there a padding option to add silence back?
No separate padding control exists. The only cushion is Min silence, the amount of quiet left at each cut. If you need to insert deliberate silence, do it afterward with audio-trimmer or shape edges with fade-in-out.
Why didn't it remove any silence?
The threshold is likely below your room's noise floor, so FFmpeg never sees a silent region and the output equals the input. Raise the threshold (-40 → -35 → -30) until the gaps register. This is expected level-based behaviour, not an error.
Is any record of my file kept?
The file content never reaches a server. For signed-in users a single anonymous processed-counter may be recorded for dashboard stats — the audio itself, its name, and its contents are not transmitted. The privacy model is identical at every tier.
What are the size and duration limits?
The tool requires the Pro tier: 200 MB and 120 minutes per file, 10 files per batch. Pro-media raises this to 100 GB and unlimited duration (100 files); Developer is 100 GB and unlimited. For files over the cap, split locally with audio-splitter and rejoin.
Does it change the loudness or quality of the audio?
No — it removes only time. For WAV input the audio is bit-for-bit identical except for the cuts; a compressed format is re-encoded once to write the result. If you need consistent level afterward, run loudness-normalizer.
Can I clean up the audio as well, still without uploading?
Yes — the whole audio suite is browser-based and no-upload. After stripping, remove background noise with ai-noise-reducer (RNNoise running locally) and set level with loudness-normalizer. Every step runs in the tab with no audio uploaded.
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.