Adjust brightness, contrast and saturation on a JPEG, PNG or WebP photo, then copy the matching CSS filter or save the full-resolution result.
A photo shot indoors usually comes back a stop or two under, and the fix is three sliders rather than a whole editor. Image Brightness & Contrast Editor gives you brightness, contrast and saturation, each running from −100 to +100, and redraws the canvas on every drag. The file stays on your machine.
What separates this from a preset filter is the Equivalent CSS card under the preview. The pixel maths follows the CSS filter specification in the order a browser applies it, so a printed declaration such as filter: brightness(1.18) contrast(1.06); reproduces what you are looking at when you paste it into a stylesheet. You can dial a look in against a real photograph and then ship the two lines of CSS instead of a re-encoded asset.
Downloads re-render at the image's natural size, so the preview cap never reaches the file you save. A 4000 × 3000 photograph exports at 4000 × 3000.
127.5 until the whole frame is flat grey at −100.Each slider maps to a multiplier k = 1 + slider / 100, giving the 0 to 2 range CSS filter functions expect. The channels then pass through, in this order:
brightness(k) → v × kcontrast(k) → (v − 127.5) × k + 127.5saturate(k) → the luminance matrix from the filter-effects specification, weighting red at 0.213, green at 0.715 and blue at 0.072Brightness and contrast are identical across red, green and blue, so both collapse into a single 256-entry lookup table built once per redraw rather than recomputed for every pixel. Order matters: contrast after brightness is not the same picture as brightness after contrast, and this follows the browser.
Drop a photo here, or click to browse
JPEG · PNG · WebP · max 10 MB · nothing is uploaded