Adjust brightness and contrast

Lift a dark photo or flatten a harsh one with two sliders, free and in your browser. No account, no upload, and the original file is never overwritten.

Drop files here (up to 50)

or paste from the clipboard

Preview

Choose an image and the result appears here as you change the options.

Shows the framing and geometry exactly. Compression quality is not simulated.

Options

Shifts every value up or down by the same amount. Zero leaves the picture exactly as it was.

Pushes values away from the midpoint or towards it. Negative flattens a harsh photo; positive separates a grey one.

%

Only applies to JPEG inputs. PNG and WebP are written back losslessly as PNG.

Results appear here. Nothing is uploaded.

    How it works

    Brightness is a shift and contrast is a scale around the middle of the range, applied in that order because doing it the other way round would amplify the shift instead of the picture. Rather than computing that for every pixel, the result is worked out once for each of the 256 possible channel values and stored in a lookup table. A twelve-megapixel photograph then needs 256 multiplications instead of thirty-six million, which is why this finishes instantly on a phone.

    What to watch out for

    Anything pushed past the ends is gone for good

    Raising brightness far enough turns bright areas into flat white, and lowering it turns shadows into flat black. Once several different values have all become 255 there is nothing left to tell them apart, so pulling the slider back does not bring the detail back. Work from the original rather than from a result you have already saved.

    This is not the same as an exposure control

    A camera's exposure works on light before it becomes a number, so raising it recovers real detail. This works on the numbers afterwards, and can only redistribute what the sensor already recorded. A photograph that is genuinely underexposed will look brighter and noisier rather than better.

    The setting applies to the whole picture

    Every pixel gets the same adjustment, which is what makes it predictable across a batch. It also means a photo that is too dark in one corner and correct elsewhere cannot be fixed here — that needs a masked or graduated adjustment, which belongs in a full editor rather than in a tool with two sliders.

    Limits

    Files up to about 50 MB work reliably. Beyond that, the ceiling is your device's memory rather than any rule we impose — the work happens on your own machine. Tested in Chrome 140, Firefox 143, Safari 18.

    Two controls that do different jobs

    Brightness moves everything the same way. Add twenty and the shadows, the midtones and the highlights all rise by twenty. The picture gets lighter, and it also gets flatter, because the distance between the darkest and lightest parts has not changed while both ends moved closer to the edge of what can be stored.

    Contrast moves things apart or together. Values above the midpoint go higher and values below it go lower, so the gap between dark and light widens. That is what makes a hazy photograph look sharper even though nothing about the focus changed.

    Most pictures that look wrong want a little of both, and the order matters. Here the shift is applied first and the scale second, which is the convention every editor follows and the reason the two sliders behave the way you expect when you use them together.

    Reading the result honestly

    The panel shows the picture as it will be saved, at the size it will be saved. That is worth checking before downloading a batch, because a setting that rescues one photograph will usually be too strong for the next.

    Two signs to watch for. Highlights that have gone completely white have lost the detail that was in them, and shadows that have gone completely black have done the same at the other end. Neither can be recovered from the file that comes back, which is why the original is left untouched on your disk.

    Nothing leaves the tab

    The adjustment runs in a Web Worker on your own processor, against pixels that were never sent anywhere. Fifty files can go through in one pass, there is no size cap beyond your device’s memory, and no server ever holds a copy of what you are working on.

    Your files never leave your browser. Last updated 2026-08-07.