Adjust video brightness and contrast

Brighten, darken or boost the contrast of a video with two simple sliders. The final render is recalculated frame by frame in your browser, without going through a server.

-1 = very dark, 0 = unchanged, 1 = very bright
-1 = very flat, 0 = unchanged, 1 = very high contrast

How it works

This tool applies the eq filter of the ffmpeg video engine (compiled to WebAssembly and run locally) to every frame of the video, changing the brightness and contrast according to the values you set with the sliders. The audio track is left unchanged.

Why do the sliders go from -1 to 1 rather than using percentages?

These bounds map directly to the scale used by the underlying video filter: 0 means "no change" for brightness, positive values brighten, and negative values darken. For contrast, 0 is also neutral; positive values accentuate the differences between light and dark areas, and negative values soften them.

Can I combine brightness and contrast in a single pass?

Yes, both settings are applied at the same time in a single pass, which avoids processing the video twice and so avoids losing quality compared with successive adjustments.

The video is processed only on your device: color calculation runs entirely locally via WebAssembly, with no transfer to any server.