Brightness & Contrast
Lighten or darken a picture, set its contrast and open the shadows with gamma, without the file leaving this tab.
What this tool does
Brightness & Contrast builds a 256-entry lookup table from the three sliders and pushes every pixel through it. Brightness adds a fixed amount to each channel, about 2.55 levels for every point of the slider, so a value of 100 becomes 151 at +20 per cent. Contrast then multiplies the distance from mid-grey, so with brightness left at zero the value 128 does not move at all while everything above it rises and everything below it falls. Gamma is applied last, as an exponent, so it moves the mid-tones and leaves pure black and pure white untouched. Red, green and blue share one table, so the tone shifts without the picture picking up a colour cast, and the pixel pass never reads or writes the alpha channel.
This is a global tonal adjustment rather than a levels or curves editor. There is no histogram, no black-point or white-point picker, no per-channel control and no way to confine the change to a selection or to one band of tones — every pixel in the frame meets the same rule. A photograph that needs the sky pulled down while the faces stay where they are wants an editor with masks, not this page.
Two things are genuinely lost along the way, and both are worth knowing before you commit to a big move. The arithmetic clamps at each end: a highlight pushed to 255 is simply 255, gamma is applied after that clamp, and dragging brightness back afterwards returns a flat white area rather than the detail that used to be in it. The second is banding. The work runs at eight bits per channel, so a steep contrast or gamma change spreads 256 input levels over a wider output range, and smooth gradients such as a sky or a studio backdrop can show the steps. Both are reasons to start again from the original file with a smaller setting rather than to correct an adjusted copy.
Everything runs in this browser tab: the file is decoded onto a canvas, adjusted and re-encoded here, so it is not sent anywhere and the page still works with the network off. There is no live before-and-after preview — you choose the three values, run the job and judge the file you get back, and Start over empties the queue, so a second attempt means adding the image again. Because the output is written fresh from the adjusted pixels, the EXIF block from the original camera file is not carried into it.
How to use it
- Add one or more images. JPG, PNG, WebP, GIF and BMP decode, and AVIF on recent browsers. Queue several and each is adjusted separately using the same three values.
- Set the brightness. Minus 100 to plus 100 per cent, added to every channel before the contrast factor is applied — which means raising contrast also amplifies the brightness shift you asked for.
- Set the contrast. Minus 100 to plus 100 per cent. On its own it pivots on mid-grey, so 128 does not move; negative values pull the picture in towards grey instead of pushing it apart.
- Use gamma for the shadows. 0.2 to 3, in steps of 0.05. Below 1 lifts the mid-tones and shadows without driving the highlights any further; above 1 deepens them. Black and white stay put either way.
- Choose the output format. Keep the input format, or write JPG, PNG, WebP or AVIF. The quality slider applies to JPG, WebP and AVIF only — PNG is lossless and ignores it. Those four are the only formats this page can write, so a GIF or a BMP left on “same as the input” comes back as a PNG, and AVIF stops with a message on a browser too old to encode it rather than quietly handing you a PNG.
Processing & privacy
Runs on your device. Your file is processed directly in this browser.
Common use cases
An exposure that came out too dark
Raise brightness a little and take gamma below 1, so the shadows open up while the brightest parts of the frame stay short of pure white.
A scan of a receipt or a printed page
Positive contrast with a small brightness rise pushes the paper towards white and the ink towards black, which makes a grey scan easier to read.
Making room for text over a photograph
Negative contrast with a brightness rise washes the picture back towards grey, giving an overlaid headline a quieter surface to sit on.
A set of photos shot in the same light
Queue the batch, set one combination of values and each file is written out separately with the same shift, instead of drifting image by image.
Questions
Is my image uploaded?
Is there a live preview?
Can a blown-out highlight be recovered?
It refused to run and produced nothing
What happens to an animated GIF or a transparent PNG?
Why will it not open my HEIC or RAW file?
Should I use this or Hue & Saturation?
Related tools
- Image Compressor — Shrink JPG, PNG and WebP files with a quality you control.
- Resize Image — Change pixel dimensions with aspect-ratio locking.
- Convert Image — Convert between JPG, PNG, WebP, AVIF and GIF.
- PNG to JPG — Convert PNG files to smaller JPG images.
- HEIC Converter — Convert iPhone HEIC photos to JPG or PNG.
- Compress to Target Size — Compress an image until it fits an exact size budget.