Brighten a dark photograph

How far under it is, is a number this page can read. The pass sets it, and Brightness is the control already waiting for you if the number is not to your taste.

Corrected on your own machine — we never get a copy.
Drop a dull photo here and we'll take a first pass at it.An underexposed JPG or HEIC from a phone is the usual case here, and both open.

Nothing to hand?

Why dark photographs are dark

Almost every underexposed phone photograph was underexposed on purpose. Metering protects the bright end, because a highlight that reaches pure white has no detail left in it and nothing can put detail back, whereas a shadow that is too dark still has its values — compressed into a few levels, buried in noise, but there. Given a scene with a lamp in it, the camera would rather keep the lamp and let the room go dark. That is the right trade, and it is the reason this page has something to work with.

So brightening is mostly a matter of deciding how much, and the figure the pass uses is the median. Half the frame is darker than the median and half is lighter, which makes it far more robust than an average: one window blowing out or one black jacket filling a third of the frame moves an average considerably and the median hardly at all. The target is a little below the middle of the range, because most scenes hold more shadow area than highlight area and a median parked exactly at the centre reads as washed out.

Gain to a point, then a curve

Light is added as a linear gain first. That is the physically honest operation — it is what a longer exposure would have done — and it keeps the relationships between tones intact. Its weakness is that it multiplies the top end too, so a gain large enough to rescue a very dark frame will push everything above about two-thirds brightness into a flat white. The gain is therefore capped, and past the cap the work goes to a midtone curve, which lifts the middle of the range while leaving both ends exactly where they were.

What a median of 0.18 gets, against one of 0.42
Median on arrivalGain appliedThen
0.42noneinside the deadband; nothing moves
0.30+0.6 EVcurve takes the remainder
0.18+1.4 EVcurve takes the remainder
0.18, already clipping+0.7 EVcurve takes all of the rest

There is a deadband, and it is doing real work. A photograph whose median already sits between 0.40 and 0.56 is exposed, and moving it to hit an exact target would be correcting the target rather than the picture. That is precisely how an automatic button earns a reputation for making good photographs worse, and the way to avoid it is to have somewhere the button does nothing at all.

When it deliberately does less

A frame that is dark overall but carries real highlights — a lamp, a lit window, a street light — is usually dark because that is what the evening looked like. There is no measurement that separates “too dark” from “dark on purpose”, so the pass takes the presence of genuine highlights in an otherwise dark frame as evidence of intent and runs at a little under half strength, with a line in the panel saying so. Push Brightness if you disagree; the whole point of putting the number on screen is that you are allowed to.