How to add fade in and fade out to audio — free, no upload
- Step 1Open the fade tool and drop your file — Drag an audio file onto the fade-in-out tool. It accepts MP3, WAV, FLAC, M4A, OGG and Opus. The file decodes locally — its duration, sample rate and channel count appear so you can see what you are working with before setting anything.
- Step 2Set the fade-in duration — Enter Fade in (s) — how long the level takes to ramp from silence up to full at the start. Default is
2, step is0.5, and the maximum is the file's own length. Set it to0to skip the fade-in entirely and only fade the end. - Step 3Set the fade-out duration — Enter Fade out (s) — how long the level takes to ramp down to silence at the end. Default
2. The tool positions the fade-out automatically atduration − fadeOutS, so it always finishes on the last sample. Set0to skip the fade-out. - Step 4Pick one curve for both fades — Choose Curve: Linear (
tri) for a constant-rate ramp, Exponential (exp) which starts slow then drops fast, or Logarithmic (log) which drops fast then tails off slowly. The same curve applies to both the in and the out — there is no separate per-fade curve in this tool. - Step 5Run it — Click to process. FFmpeg builds
afade=t=in:st=0:d=<in>:curve=<curve>andafade=t=out:st=<duration−out>:d=<out>:curve=<curve>, chains them, and re-encodes once. A few seconds for a normal song. - Step 6Download the -faded file — The result downloads with a
-fadedsuffix in the original format. Play the first and last few seconds to confirm the ramps sound right; if the fade is too abrupt or too long, change the duration and re-run — fades are non-destructive on the source, you are always re-deriving from the file you dropped.
Fade controls — every option this tool exposes
These are the only controls in the fade panel. There is no output-format selector and no crossfade option here; output format always matches the input.
| Control | FFmpeg mapping | Default | Range / step | What it does |
|---|---|---|---|---|
| Fade in (s) | afade=t=in:st=0:d=<value> | 2 | 0 to file length, step 0.5 | Ramp from silence to full level over this many seconds, starting at the first sample. 0 disables the fade-in. |
| Fade out (s) | afade=t=out:st=<dur−value>:d=<value> | 2 | 0 to file length, step 0.5 | Ramp from full level to silence over this many seconds, ending on the last sample. 0 disables the fade-out. |
| Curve | curve=tri|exp|log | Linear (tri) | 3 fixed options | Shape of both ramps. Linear is a straight line; exponential starts gentle; logarithmic ends gentle. One curve covers both fades. |
Output format and codec by input type
Output container = input container. The encoder FFmpeg uses for the single re-encode is fixed per format.
| You drop | You get back | Encoder used | Note |
|---|---|---|---|
| MP3 | MP3 | libmp3lame | Re-encoded once; lossy in, lossy out — a fade re-encodes the whole file, so expect one generation of MP3 loss. |
| WAV | WAV (16-bit PCM) | pcm_s16le | Lossless container; if your source was 24-bit it is written back as 16-bit pcm_s16le. |
| FLAC | FLAC | flac | Lossless; the fade math is applied then re-compressed without perceptual loss. |
| M4A | M4A (AAC) | aac | Lossy AAC re-encode. |
| OGG | OGG (Vorbis) | libvorbis | Lossy Vorbis re-encode. |
| Opus | Opus | libopus | Lossy Opus re-encode. |
Cookbook
Common fade recipes for everyday files. The Settings line shows what you type in the panel; the FFmpeg line shows what the tool builds from it.
Standard 2-second fade on a music track
The default. Smooths the intro and outro of a song so it doesn't slam in or stop dead. Output stays MP3.
Input: track.mp3 (3 min 24 s) Settings: Fade in 2 · Fade out 2 · Curve Linear FFmpeg: afade=t=in:st=0:d=2:curve=tri, afade=t=out:st=202:d=2:curve=tri Output: track-faded.mp3 (3 min 24 s, same length, smooth ends)
Fade out only — no fade-in
You already have a clean start (cold open) but want the end to dissolve. Set Fade in to 0.
Input: intro-jingle.wav (12.0 s) Settings: Fade in 0 · Fade out 3 · Curve Logarithmic FFmpeg (only the out filter is added): afade=t=out:st=9:d=3:curve=log Output: intro-jingle-faded.wav (12.0 s, last 3 s tail to silence)
Fade in only — no fade-out
A loop or bed that you want to ramp up but cut cleanly at the end. Set Fade out to 0.
Input: bed.mp3 (30.0 s) Settings: Fade in 4 · Fade out 0 · Curve Exponential FFmpeg (only the in filter is added): afade=t=in:st=0:d=4:curve=exp Output: bed-faded.mp3 (30.0 s, first 4 s ramp up, hard end)
Long gentle fade for an ambient piece
Ambient and drone tracks suit long fades. Push both durations up; the tool caps them at the file length.
Input: rain-loop.flac (5 min 00 s) Settings: Fade in 10 · Fade out 15 · Curve Linear FFmpeg: afade=t=in:st=0:d=10:curve=tri, afade=t=out:st=285:d=15:curve=tri Output: rain-loop-faded.flac (5 min 00 s, lossless)
Quick declick — tiny fades to kill edit pops
If you cut a clip mid-waveform elsewhere, a hard edge clicks. Sub-second fades at both ends remove the pop without audibly changing the clip.
Input: sfx-cut.wav (1.8 s) Settings: Fade in 0.05 · Fade out 0.05 · Curve Linear FFmpeg: afade=t=in:st=0:d=0.05:curve=tri, afade=t=out:st=1.75:d=0.05:curve=tri Output: sfx-cut-faded.wav (1.8 s, clicks gone)
Edge cases and what actually happens
Fade in + fade out longer than the whole file
Overlapping fadesIf Fade in plus Fade out exceeds the file length, the two ramps overlap in the middle: the in is still rising while the out is already falling, so the file never reaches full level. The tool still runs — afade just multiplies the two gain envelopes. The result is a quiet, tent-shaped clip. Shorten one duration if you want a flat section between the fades.
Fade duration set to 0
By designSetting Fade in to 0 omits the in filter entirely; setting Fade out to 0 omits the out filter. Setting both to 0 means no filter is added and the file is simply re-encoded once with no audible change (apart from one codec generation for lossy formats). To leave a file untouched, don't run the tool.
MP3 in, MP3 out re-encodes the whole file
One generation lossApplying a fade requires decoding and re-encoding the entire file, not just the faded seconds. For a lossy source (MP3/M4A/OGG/Opus) that is one extra generation of perceptual loss across the whole track. If you have a lossless master, fade that and export MP3 elsewhere to avoid stacking generations.
24-bit WAV comes back as 16-bit
Bit-depth reductionThe WAV encoder is pcm_s16le (16-bit). A 24-bit source WAV is written back at 16-bit. For most listening this is inaudible, but if you need to preserve 24-bit depth for further mastering, work in FLAC instead, which keeps the source depth.
Curve choice applies to both fades
Single curveThere is one Curve control, not one per fade. If you want an exponential fade-in and a logarithmic fade-out you cannot do it in a single pass here — run the tool twice (e.g. fade-in only with exp, then fade-out only with log on the result).
File larger than the free 50 MB limit
Tier limitFree tier caps audio at 50 MB and 30 minutes per file. A long lossless WAV can exceed 50 MB before it exceeds 30 minutes. Convert to MP3 first with wav-to-mp3, or upgrade to Pro (200 MB / 120 min).
Output sounds quieter than expected
ExpectedA fade only reduces level during the ramp regions; it never changes the level of the steady middle. If the whole file sounds quiet, the source was quiet — use volume-normalizer or loudness-normalizer for level, then fade.
Variable-bitrate MP3 duration is slightly off
PreservedSome VBR MP3s carry a slightly inaccurate header duration. The fade-out is positioned from the decoded length, which FFmpeg measures accurately, so the out lands correctly even when a player misreports the length by a fraction of a second.
Wrong tool for joining two clips with a crossfade
Use audio-mergerThis tool fades the start and end of one file. To blend the tail of clip A into the head of clip B, that is a crossfade between two files — use audio-merger, which exposes a crossfade duration for two-file joins.
Frequently asked questions
Is this fade tool free?
Yes. Adding a fade is free on every tier within the audio limits — 50 MB and 30 minutes per file on Free, with no account required. A normal 3–5 minute song is well inside both limits.
Does my file get uploaded?
No. FFmpeg 8.1 is compiled to WebAssembly and runs in your browser tab. The file is decoded, faded and re-encoded entirely on your own CPU; nothing is sent to a server.
What formats can I fade?
MP3, WAV, FLAC, M4A, OGG and Opus. The output is written in the same format you dropped in — there is no format picker in the fade panel.
Which curve should I pick?
Linear is the safe default and sounds natural for most music and speech. Exponential starts gentle and is a common choice for music outros. Logarithmic drops fast then tails off. Try Linear first; switch only if the ramp feels wrong for that specific track.
Can I set a different curve for the fade-in than the fade-out?
Not in one pass — there is a single Curve control covering both. To mix curves, run the tool twice: once with Fade out 0 (in-only, your in curve), then on the result with Fade in 0 (out-only, your out curve).
Can I fade only the start, or only the end?
Yes. Set the duration you don't want to 0. Fade in 0 disables the start ramp; Fade out 0 disables the end ramp. The corresponding afade filter is simply not added.
How long can the fade be?
Up to the file's own length. The input maximum is the duration of the file you dropped. If fade-in plus fade-out is longer than the file, the two ramps overlap and the file never reaches full level.
Will fading reduce quality?
For lossless formats (WAV, FLAC) the fade is mathematically applied with no perceptual loss. For lossy formats (MP3, M4A, OGG, Opus) the whole file is re-encoded once, which is one extra generation of compression. Start from a lossless master if you care about stacking generations.
Why does my fade-out land exactly at the end?
The tool computes the fade-out start as the file's duration minus your fade-out seconds, so the ramp always finishes on the last sample. You only choose how long it lasts, not where it starts.
Does it add a crossfade between two songs?
No. This tool fades one file at its head and tail. A crossfade blends two separate files; for that use audio-merger, which has a crossfade-duration option for two-file joins.
Can I batch several files at once?
The fade tool processes one file at a time. Batch limits are about file count per job across the audio family — Pro allows up to 10 files in batch-capable tools — but fade itself is single-file: run it once per clip.
My 24-bit WAV came back at 16-bit — why?
The WAV encoder is pcm_s16le, which is 16-bit. To keep higher bit depth, use FLAC for the round-trip — it preserves the source depth while still being lossless.
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.