Adjust Image Exposure
Change exposure in camera stops: lift an underexposed photo, pull back an overexposed one, and see exactly what is clipped.
or browse filesdrop an image here or paste
Change exposure in camera stops: lift an underexposed photo, pull back an overexposed one, and see exactly what is clipped.
or browse filesdrop an image here or paste
blown to white, crushed to black. Preview only - the overlay is never saved.
Exposure is the amount of light the picture was taken with, and this is the tool that changes it after the fact. Drop a photo on the page and drag the exposure slider: right to increase it and turn up a dark, low exposure frame, left to lower it and pull back a shot that came out too bright. The preview follows as you drag, so you stop where the picture looks right instead of guessing at a number.
The slider is marked in stops, the same unit a camera uses. +1.00 EV is one full stop more light, the same change as opening the aperture one stop or doubling the shutter time; -1.00 EV is one stop less. Most photos that need rescuing want somewhere between half a stop and a stop and a half. Two more sliders sit under it: Highlights, for pulling a bright sky back down, and Shadows, for opening up dark corners without touching the rest of the frame.
Drop a JPG, PNG or WebP onto the page, or paste one from the clipboard, then drag the sliders. Turn on Show clipping to see which pixels are already pure white or pure black. Download as PNG for a lossless file, or JPG or WebP for a smaller one. Everything runs in your browser: the image is never uploaded, there is no signup, and no watermark is added.
A brightness control adds or scales the numbers stored in the file. An exposure control works in light: it converts each pixel back to the amount of light it represents, multiplies that by the number of stops you asked for, and converts it back. The difference is not academic. Image files are stored with a gamma curve, so the stored value of a pixel is roughly the 1/2.2 power of its light, and one real stop multiplies the stored number by about 1.37 rather than by 2. Tools that just double the stored value at "+1 stop" send everything above mid grey straight to white.
That is why the same photo responds differently to the two controls, and why exposure correction looks like light and brightness looks like paint. If a flat, uniform lift is what you actually want, the brightness changer does exactly that, and the contrast editor changes the spread between dark and light instead.
Lowering exposure darkens the whole frame evenly, which is right when the picture is simply too bright. It is the wrong move when only the sky or a window is blown out, because dragging the exposure down to save them leaves the subject too dark. Pull the Highlights slider left instead: it only bites in the bright end of the range, so a white sky comes down while faces and shadows stay where they were.
There is a limit, and the clipping overlay is there to show you where it is. A pixel that was recorded as pure white has no detail left in the file - it is not a bright version of something, it is nothing. Turn on Show clipping and every such pixel is painted red, with crushed blacks painted blue. Red areas will turn grey when you lower the exposure, not turn back into clouds. If most of the sky is red, the photo cannot be repaired here, and that is worth knowing before you spend ten minutes on it. The histogram viewer shows the same information as a graph across the whole image.
Underexposed is the common case: shot indoors, against a window, at dusk, or with the phone metering for a bright background and leaving the subject dark. Increase the exposure until the subject reads properly. If that blows out something bright elsewhere in the frame, back the exposure off a little and lift the Shadows slider instead, which raises the dark end and leaves the highlights alone. If all you want is the dark part lifted with the bright parts left exactly where they are, the lighten image tool does that with one slider and can never blow out a highlight.
Two things to expect when you turn up a very dark photo. Noise comes up with the picture, because the grain in the shadows is amplified by exactly the same amount as the detail. And a JPG has only 256 steps per channel to begin with, so lifting several stops out of the bottom of the range can leave visible banding in smooth areas like walls and skies. Both are limits of the file, not of the tool: a raw file has more room to work with, a JPG has what it has.
The preview and the download run the same curve over the pixels, so what you see is what you save, at the full resolution of the file you loaded. The clipping overlay is a viewing aid and is never part of a download. With every slider at zero the image is passed through untouched, byte for byte. Transparency is kept, so a PNG with a transparent background stays transparent.
All of it happens on your device through the canvas API, so no image is transmitted anywhere and the page keeps working offline once it has loaded. For related edits there is the hue shifter for colour, the image tinter to cast a photo toward a colour, the color grading tool for teal-and-orange and other cinematic looks, and the black and white converter.
Open the photo here and drag the exposure slider. It is marked in stops, so +1.00 EV is one stop more light and -1.00 EV is one stop less, and the preview updates as you drag. Then download it as PNG, JPG or WebP at the original resolution. No account, no upload, no watermark.
Drag the Highlights slider to the left first, since it works only on the bright end and leaves the rest of the picture alone. If the whole frame is too bright, lower the exposure as well. Turn on Show clipping to see what is beyond saving: anything painted red was recorded as pure white and will only go grey, never come back as detail.
Drag the exposure slider to the right until the subject reads clearly, and lift the Shadows slider if the dark areas still need more than the rest of the frame. Expect the noise to come up along with the picture - that grain is in the file, and raising exposure raises it too.
Exposure works in light and is measured in stops, the way a camera meters. Brightness works on the numbers stored in the file. One stop of exposure multiplies the light by two, which is a change of about 1.37x in the stored value, so the two controls behave differently on the same photo - exposure keeps a picture looking photographed, brightness tends to flatten it.
Only if the sky is not fully blown. Where the pixels are already at pure white, the detail was never written to the file and no adjustment can invent it. The clipping overlay marks exactly those pixels in red. Where there is still some variation left, pulling the Highlights slider down brings it back.
Yes - JPG, PNG and WebP all load, including photos straight off a phone, and you can paste from the clipboard. Transparency is preserved. Very large images are handled at full resolution on download; the on-screen preview is scaled so the sliders stay responsive.
No. The image is decoded, adjusted and encoded in your browser, at preview and at full download resolution alike. Nothing is sent to any server, and the tool keeps working with the network disconnected once the page is open.