Fade a Video In and Out

Ramp a clip up from black at the start and down to black at the end — sound included — without uploading anything.

Try:
Faded video

Fade a video in from black and out to black

Use this tool to soften how a clip starts and ends. The picture ramps up from a solid colour — black by default — at the beginning, and ramps back down to that colour at the end. The sound ramps out of and into silence over exactly the same spans, so the two never drift apart. Set either side to 0 to skip it, pick a different fade colour, or restrict the fade to just the picture or just the sound. Everything runs in your browser and nothing is uploaded.

Worked example: load a 10-second intro.mp4, set Fade in to 1, Fade out to 1, and Exact clip length to 10. The first second lifts the picture out of black while the audio rises from silence; the last second (starting at 10 − 1 = 9 s) sinks both back down. The result is a 10-second intro-fade.mp4 — same length, same footage, softer ends.

Why the clip length is asked for

A fade-out has to be placed at an absolute time: clip length − fade out. The plan is built before the file is decoded, so the length can't be read off the video first — type it in the Exact clip length box (your player's total-time readout is the number you want). A fade-in always starts at 0, so a fade-in-only run needs no length at all; leave the box at 0.

What each control does

Notes and limits

FAQ

Why do I have to type the clip length for a fade-out?

The ffmpeg fade and afade filters take an absolute start time, so a closing fade is placed at length − fade out. The command is assembled before the video is decoded, so the length has to come from you. A fade-in starts at 0 and never needs it — leave the field at 0 for a fade-in-only run.

Can I fade to white, or to a custom colour?

Yes. Put white, a hex value like #101820 or 0x101820, or a name@alpha value like [email protected] in Fade colour. The same colour is used for both the opening and the closing ramp. Colours containing filtergraph punctuation (, : [ ] ' or spaces) are rejected rather than escaped.

Will the video be re-encoded, and will quality drop?

If the fade touches the picture, yes — changing pixels requires a re-encode, and the output is H.264/AAC in an MP4 at the CRF you choose. If you set Fade to Sound only, the picture is stream-copied with no quality change at all and only the audio is re-encoded.

Can I fade only one end of the clip?

Yes. Set the side you don't want to 0. Fade-in only leaves the ending untouched (and needs no clip length); fade-out only leaves the opening at full brightness and volume. Setting both to 0 is rejected, because the output would be identical to the input.

How is this different from fading only the audio?

A picture fade changes what you see — the frames dip to and from a solid colour — and therefore re-encodes the video stream. An audio-only fade changes only the volume curve and copies the picture untouched. Choose Sound only here for the audio-only behaviour, or Picture only if you want the visuals to dip while the soundtrack stays at full level.

What is the longest fade I can apply?

30 seconds per side. The two fades together also cannot be longer than the clip itself — a 3-second fade in plus a 3-second fade out on a 5-second clip is rejected, while 2.5 + 2.5 on the same clip is allowed and leaves no full-level frames in between.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool video-fade 'url=https://example.com/input' 'fade_in=1' 'fade_out=1' 'duration=12.5' 'streams=both' 'quality=balanced'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/video-fade/?url=https://example.com/input&fade_in=1&fade_out=1&duration=12.5&streams=both&quality=balanced

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.