Adjust Video Brightness, Contrast & Color

Pick a video, drag the brightness / contrast / saturation / gamma sliders, and it's re-encoded in your browser — nothing is uploaded.

Try:
Adjusted video

Adjust a video's brightness, contrast & color

Pick a video and drag four sliders — brightness, contrast, saturation, and gamma — to correct exposure, add punch, mute the colors, or drop to grayscale. The clip is re-encoded right in your browser with ffmpeg's eq filter; nothing is uploaded.

What each slider does

Leaving all four at their defaults (0 / 1 / 1 / 1) is the identity — the video comes out visually unchanged (just re-encoded).

Worked example

A slightly flat clip with brightness = 0.1, contrast = 1.2, saturation = 1.4, gamma = 0.9 comes out brighter, punchier, and more vivid. Under the hood that is a single ffmpeg pass: eq=brightness=0.1:contrast=1.2:saturation=1.4:gamma=0.9.

Notes

What values leave the video unchanged?

The identity is brightness 0, contrast 1, saturation 1, gamma 1 — that's the default. At those settings the video is only re-encoded, with no visible color change. Move any slider away from its default to see an effect.

How do I make the video grayscale?

Set saturation to 0. That strips all color while keeping brightness and contrast. Combine it with a small contrast bump (say 1.1) for a punchier black-and-white look.

Does adjusting the color change the format or quality?

The streams are re-encoded to H.264 video + AAC audio — color adjustment can't be applied without re-encoding. An .mp4/.mov/.m4v/.mkv keeps its container; other inputs are converted to MP4 because those containers can't hold H.264/AAC. Re-encoding adds a small generational quality loss, so adjust once from the original rather than repeatedly re-processing outputs.

Is my video uploaded to a server?

No — the ffmpeg engine runs inside your browser tab, so the file never leaves your device.

Why is contrast capped at 4 and gamma at 10?

Those are the useful ranges of ffmpeg's eq filter for these controls. Beyond them the picture clips to solid blocks with no extra detail, so the sliders stop at brightness ±1, contrast 4, saturation 3, and gamma 10.

Developer & Automation Access

Run it from the terminal

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

gizza tool video-eq-adjust 'url=https://example.com/input' 'brightness=0' 'contrast=1' 'saturation=1' 'gamma=1'

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-eq-adjust/?url=https://example.com/input&brightness=0&contrast=1&saturation=1&gamma=1

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