Exposure
Exposure-style gain control.
This runs in your browser. Nothing is uploaded.
About Exposure
Multiplies every pixel by a power of two, in stops from -3 to +3, brightening or darkening a photo the way a camera's exposure dial would — calculated locally in your browser.
You shot into a window and the person came out as a silhouette, or the room was darker than your phone assumed. Exposure is the control photographers reach for first, because it moves an image in the units they think in: one stop is twice the light, two stops is four times. The slider covers -3 to +3 in tenths of a stop.
Each red, green and blue value is multiplied by two raised to the number of stops you set. At +1 a mid-tone of 100 becomes 200; at -1 it becomes 50. Multiplication has a consequence worth knowing about — zero times anything is still zero, so pure black stays pure black, while bright areas travel furthest and hit the 255 ceiling first.
This operates on the eight-bit values already baked into your JPEG or PNG rather than raw sensor data, so it isn't the same as changing exposure before the shutter fired. There's no hidden headroom in the file. Anything driven to 255 is recorded as plain white. The preview restarts from your original each time you apply, so you can back off, but a downloaded clipped file has lost it.
How to use Exposure
- 1Drop a photo onto the panel or click to pick one from your files.
- 2Drag the Stops slider — negative darkens, positive brightens, in steps of a tenth.
- 3Hit Apply preview and check the result against what you expected.
- 4Hit Download to save the corrected image.
What it won't do
- Cannot rebuild highlight detail that was already clipped to white.
- Pure black pixels stay pure black however far you push the slider.
- Works on gamma-encoded file data, so it approximates rather than reproduces a true exposure change.
Common questions
What's the difference between exposure and brightness?
Exposure multiplies pixel values; brightness adds to them. Multiplying keeps the ratio between dark and light areas intact, so a photo lifted by a stop still reads as a photo. Adding a fixed number to every pixel raises the blacks to grey and flattens the whole thing. For an underexposed shot, exposure nearly always looks more natural.
How many stops should I use?
Most underexposed phone photos want somewhere between +0.3 and +1. A full stop is a doubling, which is already a large move. If you find yourself at +2 or +3, the original probably holds very little information in the shadows and you're mostly amplifying noise. Look at the darkest area of the preview before committing.
Can this recover a blown-out sky?
No. Where an area was recorded as pure white, every pixel holds the same value and there's no variation left to bring back. Pulling exposure down turns a white sky into a grey sky, not a cloudy one. No tool, offline or otherwise, can invent detail that the camera never captured in the first place.
Why does the image get noisy when I brighten it?
Noise is multiplied along with everything else. Dark areas of a photo carry the least signal and the most sensor noise, so a two-stop lift makes that grain four times stronger too. A small gaussian blur takes the edge off it, at the cost of fine detail elsewhere in the frame — there's no free version of this trade.
Related tools
Why this one doesn't upload your file
There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation