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.
Drop a photo
Adjustments run in this tab. Large images take a moment; nothing is uploaded.
How to use it
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.
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.
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
Image Upscaler
Enlarges 2× or 4× with a directional interpolator that keeps diagonal edges sharp, with no model to download.
Photo Denoiser
Removes sensor grain from high-ISO photos while keeping edges, with a strength slider.
RAW Photo Converter
Develops DNG in the browser — own demosaic, as-shot white balance, the file’s colour matrix, exposure — to JPEG or PNG, and pulls the camera’s embedded JPEG out of CR2, NEF, ARW, RAF and other RAW containers.
ID Photo Maker
Crops a portrait to the ID and passport sizes of Korea, Japan, China, Spain, Mexico and the US visa, swaps the background and lays out a print sheet.
Next
These accept what this tool produces, so the result can go straight in.
Colour Blindness Simulator
Re-renders an image as protanopia, deuteranopia, tritanopia or greyscale vision would see it.
Photo Denoiser
Removes sensor grain from high-ISO photos while keeping edges, with a strength slider.
JPEG Compressor
Re-encodes a JPEG at a chosen quality with a live before/after size and a difference view.
RAW Photo Converter
Develops DNG in the browser — own demosaic, as-shot white balance, the file’s colour matrix, exposure — to JPEG or PNG, and pulls the camera’s embedded JPEG out of CR2, NEF, ARW, RAF and other RAW containers.
Background Remover
Keys out a flat or single-colour background in OKLab and returns a transparent PNG, with a brush for fixing the edges.
EXIF Remover
Strips camera, GPS and editing metadata from photos while leaving the pixels untouched.