Correct image exposure in stops, the way a camera does
Exposure is the amount of light that reached the sensor. When a shot comes out too dark or too bright, the most natural fix is to change exactly that — multiply the light, not the stored pixel numbers. The image exposure tool decodes your image to linear light, scales it in EV stops (+1 EV doubles the light, −1 halves it) and encodes it back to sRGB.
Two helpers make larger corrections usable: Highlight recovery rolls bright tones off smoothly instead of letting them clip, and Shadows opens up or deepens dark areas without moving the highlights. A live histogram reports clipping as you work, and you can process a batch at full resolution in your browser and save it as a ZIP.
How to use the Image Exposure
- Open the photos that need correcting — drag them in, browse for them, or paste from the clipboard.
- Set Exposure in stops: try +0.5 to +1.5 for dark photos and −0.3 to −1 for bright ones. Type values such as 0.33 in the box for ⅓-stop steps.
- If skies or white clothing turn flat white, raise Highlight recovery until the clipped-highlights figure drops.
- Use Shadows to reveal detail in dark areas (positive) or add depth (negative).
- Compare with the split preview and download one image, or a ZIP of all of them.
Image Exposure features
Linear-light exposure
The exact sRGB transfer function (IEC 61966-2-1) decodes each value, it is multiplied by 2^EV, then re-encoded — the same model as a camera’s exposure.
Fine EV control
−4 to +4 EV in 0.01 steps, with ⅓-stop and 1-stop presets.
Highlight shoulder
A smooth exponential roll-off above a knee keeps bright detail instead of clipping it.
Shadow lift
A luminance-weighted gain of up to ±1.5 EV that fades out towards the highlights.
Clipping readout
The histogram shows the share of pixels with a channel stuck at 0 or 255 before you download.
Batch and private
Many images at full resolution in a background worker; nothing is uploaded.
Why exposure has to happen in linear light
Image files store gamma-encoded values: the sRGB standard spends more of its 256 levels on dark tones because our eyes are more sensitive there. Level 128 is not half the light of level 255 — it is about 21.6%. Doubling the stored number therefore does not double the light, and it upsets the balance between shadows and highlights.
This tool decodes each value with the sRGB formula lin = ((v ÷ 255 + 0.055) ÷ 1.055)^2.4 (or v ÷ 255 ÷ 12.92 for the very darkest values), multiplies by 2^EV, and encodes the result again. Photographic mid-grey, 18% reflectance, is stored as level 118. At +1 EV it becomes 36% light, which encodes to level 162 — not 236, which is what simply doubling the number would give.
Exposure at a glance
How typical levels change at different settings, with highlight recovery off:
| Input level | −1 EV | −0.5 EV | +0.5 EV | +1 EV | +2 EV |
|---|---|---|---|---|---|
| 32 | 20 | 26 | 39 | 47 | 68 |
| 64 | 44 | 54 | 76 | 90 | 125 |
| 118 (18% grey) | 85 | 100 | 139 | 162 | 221 |
| 186 | 136 | 159 | 217 | 253 | 255 |
| 230 | 169 | 197 | 255 | 255 | 255 |
Highlight recovery and shadows, exactly
- Highlight recovery sets a knee
k = 1 − 0.6 × h ÷ 100in linear light. Values above it are compressed withk + (1 − k) × (1 − e^(−(x − k) ÷ (1 − k))), which joins the straight line smoothly and approaches white without reaching it. At 100 the knee is 0.4, so even light four times brighter than white keeps some separation from light twice as bright. - Shadows multiplies each pixel by
2^(1.5 × s ÷ 100 × (1 − Y′)²), where Y′ is the pixel’s encoded luminance from 0 to 1. Black gets the full ±1.5 EV, mid-tones about a quarter of it, white nothing. - An 8-bit JPEG cannot bring back what is already 255: a blown-out sky stays white. Recovery prevents new clipping when you brighten; it cannot invent lost detail.
Tips
- Correct exposure first, then contrast and colour — the contrast and saturation tools work best on a well-exposed picture.
- Phone photos get noisy when lifted by more than about 1.5 EV.
- Exposure brightens highlights faster than shadows. For a gentler midtone lift, the Midtones mode of the brightness tool may suit better.
- Save as PNG if you plan more edits, to avoid repeated JPG compression.
Image Exposure FAQ
What does EV mean in exposure?
EV (exposure value) counts stops of light. +1 EV doubles the light, +2 EV quadruples it and −1 EV halves it — the same steps as changing shutter speed or aperture by one stop.
How do I fix an underexposed photo?
Raise Exposure by +0.5 to +1.5 EV, add Highlight recovery if bright areas start to clip, and lift Shadows a little for detail in dark areas. Then download.
What is the difference between exposure and brightness?
Exposure multiplies the light in linear space, like a camera. Brightness changes the stored tone values with a curve or an offset. Exposure looks more natural for large corrections; brightness is gentler for small ones.
Can I recover blown-out highlights?
Not from an 8-bit file: once a value is 255 the detail is gone. Highlight recovery stops further clipping when you brighten and calms bright areas that are not yet fully white.
Does the image exposure tool work on PNGs with transparency?
Yes. Only RGB values change, alpha is kept exactly, and PNG output is lossless.
Is it free and private?
Yes — no sign-up, no watermark and no upload. Everything runs in your browser.