How to audio fade effect — zero upload, browser-based
- Step 1Open the tool (the only network step) — Load the fade-in-out tool. This fetches the page and the FFmpeg WASM assets once. After that, the actual fade runs locally — you can confirm in your browser's network panel that no audio is sent.
- Step 2Drop the private recording — Drag your file in. It's read into the tab's memory and decoded on your CPU. Nothing about it (name, duration, content) is transmitted to learn what it is — the metadata you see is read locally.
- Step 3Set the fades — Enter Fade in (s) and Fade out (s). Defaults are 2 each. For a voice memo, 0.5–1 s at each end is usually plenty. Set either to 0 to skip that end.
- Step 4Pick a curve — Linear is the most transparent for speech. The same curve applies to both ends. Exponential or logarithmic only matter for music.
- Step 5Process locally — Run it. FFmpeg builds and applies the
afadechain in the tab and re-encodes once. No round-trip; the result appears as a local download blob. - Step 6Download — it never left — Save the
-fadedfile. Because everything happened in the tab, the only record server-side is an anonymous counter (opt-out available). Your recording stayed on your machine the whole time.
What leaves your device, and what doesn't
The full data-flow for a fade. The only outbound item is an anonymous count, and it's optional.
| Item | Leaves device? | When | Note |
|---|---|---|---|
| Your audio file | No | Never | Decoded, faded and re-encoded entirely in the tab |
| Filename / metadata | No | Never | Read locally to display duration/sample rate |
| FFmpeg WASM assets | Inbound only | On page load | Downloaded once to your browser; cached after |
| Anonymous usage count | Yes (opt-out) | On run, if signed in | A single number for dashboard stats; no content |
| The faded result | No | Never | Returned as a local blob you download |
Private-recording limits by tier
Free covers most memos and demos; long confidential recordings need a higher tier. All tiers process locally.
| Tier | Max size | Max duration | Typical private use |
|---|---|---|---|
| Free | 50 MB | 30 min | Voice memos, short demos, draft takes |
| Pro | 200 MB | 120 min | Full interviews, long sessions |
| Pro-media | 100 GB | Unlimited | Multi-hour recordings, archives |
| Developer | 100 GB | Unlimited | Scripted/local automated runs |
Cookbook
Private-recording fade recipes. All processing is local; the settings are what you type into the panel.
Top-and-tail a confidential interview
An interview you can't upload. Subtle fades to clean the start and end before sharing internally.
Input: interview.wav (24 min 10 s) — stays local Settings: Fade in 1 · Fade out 2 · Curve Linear FFmpeg (in the tab): afade=t=in:st=0:d=1:curve=tri, afade=t=out:st=1448:d=2:curve=tri Output: interview-faded.wav (never uploaded)
Voice memo cleaned for sending
A quick memo that starts and ends abruptly. Short fades make it sound deliberate.
Input: memo.m4a (38.0 s) Settings: Fade in 0.5 · Fade out 0.5 · Curve Linear FFmpeg: afade=t=in:st=0:d=0.5:curve=tri, afade=t=out:st=37.5:d=0.5:curve=tri Output: memo-faded.m4a (AAC, local)
Unreleased music demo — fade the outro
A demo you don't want online. Fade the end so it resolves; keep a punchy start.
Input: demo.flac (3 min 12 s) Settings: Fade in 0 · Fade out 4 · Curve Exponential FFmpeg (in filter omitted): afade=t=out:st=188:d=4:curve=exp Output: demo-faded.flac (lossless, stays on device)
Verify nothing uploaded
How to confirm the no-upload claim yourself in the browser.
1. Open DevTools -> Network tab, clear it
2. Drop your file and run the fade
3. Observe: no request carrying your audio bytes
(only the one-time WASM asset fetch on load,
and an optional tiny usage ping if signed in)
The audio request you'd expect with a server tool
simply isn't there.Fade a sensitive recording on an offline-leaning machine
Once the tab is loaded, the fade itself doesn't need the network.
Step 1 (online): load the tool page once Step 2 (network off): drop file, set fades, run The fade computes from cached WASM in the tab. Result downloads locally. No reconnect needed for the processing itself.
Edge cases and what actually happens
WASM assets must load once
By designThe page and FFmpeg WASM are fetched from the server the first time you open the tool — that's the only inbound network step. After that, the fade runs locally. If your network blocks the asset fetch, the tool can't initialise; load it once on a permitted connection first.
Usage counter ping when signed in
Count onlyIf you're signed in, a single anonymous count is recorded per run for dashboard stats — no filename, no audio. You can opt out in account settings. Signed-out use sends nothing beyond the initial page load.
Recording over 30 min on Free
Tier limitFree caps at 30 minutes / 50 MB per file. A long confidential interview exceeds it. Pro raises the cap to 120 minutes (200 MB); processing is still fully local at every tier.
Lossy recording re-encoded in full
One generation lossFading an M4A voice memo or MP3 re-encodes the whole file once — one extra lossy generation. For an archival private master, keep the original and treat the faded file as a derived copy.
24-bit recording back at 16-bit (WAV)
Bit-depth noteWAV output is pcm_s16le (16-bit). For a 24-bit field recording you want to preserve at depth, round-trip through FLAC, which keeps the source depth losslessly.
Both fades 0 — no-op
By designWith both durations 0, no afade is added and the file is just re-encoded once. For lossless formats that's effectively unchanged; for lossy it's one codec generation. Don't run it if you need the recording byte-for-byte identical.
Different curve per end
Single curveOne Curve control covers both fades. Run the tool twice (in-only then out-only) if a private recording needs distinct shapes at each end.
Fade longer than the recording
Overlapping fadesOn a very short memo, fade-in + fade-out can exceed the length and overlap, dipping the middle. Shorten the fades for short clips.
Need to redact a section, not fade it
Wrong toolA fade only ramps the edges; it can't silence a name or number in the middle. For removing sensitive spans, see the audio PII tooling — pii-redactor handles range-based redaction. Fade is for clean edges, not redaction.
Frequently asked questions
Does my recording really stay on my device?
Yes. FFmpeg 8.1 runs as WebAssembly inside your browser tab. The file is decoded, faded and re-encoded on your own CPU. The only inbound network step is the one-time fetch of the page and WASM assets; your audio is never sent out. You can verify this in your browser's network panel.
What does leave my device, if anything?
At most a single anonymous usage count, only if you're signed in, for dashboard stats — no filename, no content. You can opt out in account settings. Signed-out, nothing leaves beyond the initial page load.
Can I use it fully offline?
After the tool page and its WASM assets have loaded once, the fade itself runs from cache and doesn't need the network. The initial load does require a connection.
Is it free for private recordings?
Yes, within the Free limits of 50 MB / 30 min per file, with no account needed. Longer confidential recordings need Pro (200 MB / 120 min) or above, but processing is local at every tier.
Will the output format change my file?
No — output matches input. A WAV memo comes back as WAV, an M4A comes back as M4A (AAC). There's no format picker in the fade panel.
Does fading a private file reduce its quality?
For WAV/FLAC the fade is applied losslessly (WAV at 16-bit). For lossy formats (M4A, MP3, OGG, Opus) the whole file is re-encoded once — one extra generation. Keep your original as the master.
Can I redact a name or number in the middle?
No — a fade only ramps the start and end. To silence a sensitive span inside the recording, use pii-redactor, which redacts by range. Fade is for clean edges only.
Which curve for a voice recording?
Linear. It's the most transparent for speech and won't draw attention to the fade. Exponential and logarithmic are for music.
Can I fade only the end of a sensitive demo?
Yes. Set Fade in to 0 to keep a punchy start and only fade the outro. The in filter is simply not added.
Is there any account requirement?
No account is needed for files within Free limits. Signing in adds dashboard usage stats (the anonymous counter) and unlocks higher tiers, but the privacy model — local processing, no audio upload — is the same either way.
How long a recording can I fade privately?
Free up to 30 minutes / 50 MB, Pro up to 120 minutes / 200 MB, Pro-media and Developer up to 100 GB with unlimited duration. All process locally in the browser.
Can I trust the filter being applied?
It's deterministic and visible in behaviour: the tool builds afade=t=in:st=0:d=<in>:curve=<curve> and afade=t=out:st=<dur−out>:d=<out>:curve=<curve> from exactly your inputs. Nothing else is added, and nothing is sent anywhere.
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.