Skip to content

Brightness & Colour Adjust

Adjusts brightness, contrast, saturation, temperature and sharpness with a live histogram.

Two families of adjustment that are usually mixed together and should not be. The top group is the CSS filter functions, computed exactly as the spec defines them, so the CSS printed underneath produces the same picture in a browser. The bottom group is photographic — exposure, white balance, gamma — and works in linear light, where those operations are actually defined.

🔒 Runs entirely in your browserfilteradjustphotocolor

Drop a photo

Adjustments run in this tab. Large images take a moment; nothing is uploaded.

How to use it

  1. Adjust and copy the CSS

    Anything in the top group appears in the filter string under the panel. Paste it into a stylesheet and the browser will render what you see here.

  2. Use exposure rather than brightness for a photograph

    Exposure is in stops: +1 doubles the light, which is not the same as doubling the pixel value. On a photograph it behaves the way a camera does.

  3. Watch the clipping figures

    A spike at either end of the histogram is one bin out of 256 and invisible on the chart, so the percentages are printed next to it.

Common questions

Why are brightness and exposure both here?

They are different operations. `brightness()` multiplies the sRGB code values, which is what a browser does; exposure multiplies the light, which is what a camera does. The first is reproducible in CSS and the second is correct on a photograph.

Can I recover the blown-out sky?

No. Clipped means every pixel there is 255 and there is nothing left to distinguish. Lowering exposure turns white into grey without bringing back any cloud.

What does vibrance do that saturation does not?

It weights the increase by how saturated the pixel already is, so a muted sky moves a lot and skin tones move a little. Plain saturation moves everything equally, which is what makes faces go orange.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.