FlipMyFormat

Shadows and Highlights: Recover Detail at Both Ends

A local correction that brightens dark regions and pulls bright ones down, with halo suppression that falls back to a global adjustment at strong edges. You can switch it off and watch the halo appear.

Local, not a global curveHalo suppressionLive before and afterBatch + ZIP downloadNever uploaded

Drop images here

or click to browse · or paste with Ctrl+V

JPG · PNG · WebP · GIF · BMP · AVIF

45

Brightens dark areas without touching anything that was already bright.

30

Pulls bright areas down. It cannot recover detail from a pure white area, because there is none left to recover.

60 px

How large an area counts as one region. Small values behave more like a local contrast boost.

Switch it off to see the bright rim that appears around dark objects without it. It is on by default for a reason.

Presets

92

Your photos are never uploaded. The local mask and the correction both run inside this browser tab.

People also use

Everything this tool does

Edge-aware masking

Where a pixel disagrees strongly with its neighbourhood the correction falls back to global. On a black square against white at full lift, the peak rim measured 11 levels without suppression and 2 with it.

You can switch it off

Halo suppression is a toggle, and there is a preset that turns it off, so you can see the artefact on your own photo rather than taking our word for it.

Each end stays in its lane

Squared weights mean a pure white region receives no shadow lift and a pure black region receives no highlight recovery, so both sliders can be used at once without flattening the midtones.

Adjustable region size

How large an area counts as one region, from 10 pixels for a gritty local contrast effect to 200 for a broad natural correction.

Colour is not shifted

All three channels are scaled by the same gain, so brightening a shadow does not push it toward a different hue.

Drag to compare

Before and after share one frame with a slider, which is how you spot noise emerging from a lifted shadow.

Six purpose-built presets

Backlit subject, gentle, save the sky, open the shadows, local contrast and a comparison preset that shows the halo.

Batch with one ZIP

Correct a whole shoot with the same settings and take everything as a single archive built in your browser.

Transparency preserved

The alpha channel is untouched for PNG and WebP output.

Nothing is uploaded

No server, no queue, nothing to delete afterwards. Close the tab and every trace of the image goes with it.

What each control does

This is a local adjustment: how much each pixel is changed depends on how bright its surroundings are, not just on the pixel itself. That is what lets it brighten a face in shadow without also brightening the sky behind it.

SettingWhat it doesTryWatch for
Shadows 20-40gentle lift in dark regionsradius 50-80Nothing much
Shadows 60-100strong liftradius 60-120Noise appearing
Highlights 20-40pulls back bright areasradius 50-80Flat looking sky
Highlights 60-100strong recoveryradius 60-120Grey, lifeless whites
Region 10-40behaves like local contrastsmall liftsGritty, HDR look
Region 100-200broad, natural regionsanySlower to render
Halo suppression offshows the classic artefactfor comparisonBright rims

Edge

aware masking

0

files uploaded

10-200

region size range

2

blur passes

ZIP

batch download

Free

no account needed

FlipMyFormat vs other shadow recovery tools

CapabilityFlipMyFormatTypical free tool
Files stay in your browser
Edge-aware mask that suppresses halos
Halo suppression can be toggled to compare
Adjustable region size
Shadows and highlights independent
Batch ZIP download without paying
No watermark on the output

How to recover detail without the HDR look

This tool exists because a camera has less range than your eye. Standing in the scene you could see both the face in shadow and the bright sky behind it; the photograph had to choose, and it chose wrong. Correcting that means brightening one region and darkening another within the same picture, which is fundamentally different from anything a single global curve can do. The difficulty is that a local correction needs to know what counts as a region, and every decision it makes there has a visible consequence. A large region size gives a natural result that reads as better exposure. A small region size starts to brighten the dark side of individual objects rather than genuinely dark areas, which produces the gritty, over-processed look that people mean when they say a photo looks HDR. If your result has that quality, region size is almost always the reason. The second thing to watch is noise. Shadow areas of a photograph contain the least light and therefore the most noise, and lifting them does not create noise so much as reveal what was always there. If a lifted shadow looks grainy, that grain was in your file the whole time, and the honest options are to lift less or to accept it. Finally, highlight recovery has a hard limit that no software can pass. If an area is pure white in the file, every channel is at maximum and there is genuinely no information left; pulling it down just gives you grey instead of white. Recovery works on areas that are bright but not yet clipped.

  1. 1

    Add your photos

    Drag them in, click to browse, or paste with Ctrl+V. Backlit subjects and high contrast scenes gain the most.

  2. 2

    Lift shadows, then pull highlights

    Work one slider at a time. Region size decides how large an area counts as one region; 50 to 80 suits most photos.

  3. 3

    Check for noise, then export

    Lifting shadows reveals whatever was hiding in them. Back off if it looks grainy, then save individually or as one ZIP.

Where halos come from, and how to stop them

The mask is the problem

A local correction decides how much to brighten each pixel by looking at how dark its surroundings are, and the usual way to measure the surroundings is a large blur of the image. That works beautifully in flat areas and fails at every strong edge. Consider a dark building against a bright sky: just outside the building's outline, the blur is dragged down by all the dark pixels nearby, so those sky pixels are treated as if they were in shadow and get brightened. The result is a bright rim tracing the building, which is the single most recognisable artefact of bad shadow recovery. The fix is to notice when a pixel disagrees strongly with its neighbourhood, which is exactly what being on an edge means, and fall back toward using the pixel's own brightness there. The correction becomes local in flat areas and global at edges, which is where it should have been all along. We measured the rim on a black square against a white background at full shadow lift, comparing the background right beside the square with the background far from it. Without suppression the nearby background was 11 levels brighter, a rim that is clearly visible on a smooth surface. With suppression that dropped to 2, which is inside the noise of most photographs.

Why each end stays in its own lane

The shadow and highlight corrections have to be able to run at the same time without fighting each other, which means each needs a weight that is genuinely zero where the other one is working. Both use a squared weight here, the square of the darkness for shadows and the square of the brightness for highlights, which falls away much faster than a straight ramp would. The consequence you can check is that a pure white region receives no shadow lift whatever the slider says, and a pure black region receives no highlight recovery. That matters in practice, because the most common use of this tool is pulling both sliders up on a backlit photo, and if the two corrections overlapped in the midtones the result would be a flat, washed out middle with nothing left to hold the picture together.

What people use it for

Backlit portraits

The classic case: a face in shadow against a bright window or sky. Lift shadows and pull highlights together.

Landscapes with bright skies

Recover the sky while opening up a dark foreground, which is what a graduated filter does optically.

Interiors with windows

Rooms photographed toward a window always choose one or the other. This gets some of both back.

Harsh midday sun

Overhead sun creates deep shadows under eyes and chins, and a moderate shadow lift softens them.

Property photography

Estate agents deal with this constantly, since every room has a window in it somewhere.

Product shots with reflections

Highlight recovery pulls back specular hotspots on glossy surfaces before they clip.

Old scans

Prints often lose shadow detail in scanning, and a lift recovers more than you would expect.

Preparing for print

Print compresses shadows further than a screen does, so a small lift beforehand keeps more detail on paper.

Six tips worth knowing

If your result looks gritty and over-processed, raise the region size. Small regions are what create the HDR look.

Lifting shadows reveals noise rather than creating it. If a lifted shadow looks grainy, that grain was always in the file.

Highlight recovery cannot rescue a pure white area. If every channel is at maximum, there is no information left to recover.

Work one slider at a time. Both at once makes it hard to tell which one is causing what you are looking at.

Turn halo suppression off once on a high contrast photo, just to see what it is doing for you.

Use this after levels and before any colour work, so you are grading a picture that already has its detail back.

Troubleshooting

There is a bright rim around dark objects

That is the halo, and it means suppression is switched off. Turn it back on, or raise the region size.

The photo looks gritty and fake

Region size is too small, so individual objects are being lit rather than genuinely dark areas. Raise it to 60 or more.

Lifted shadows are full of noise

The noise was already there, hidden in the dark. Lift less, or accept it. No amount of correction can invent clean detail.

My sky went grey instead of white

Highlight recovery is too high, or the sky was already clipped. If every channel was at 255 there was nothing to recover, and pulling it down only gives grey.

Frequently asked questions

What does shadows and highlights do?

It brightens dark regions and darkens bright ones within the same photograph, which is something no single global curve can do. It is the standard fix for a scene whose range exceeded what the camera could record.

What is a halo and why does it happen?

It is a bright rim tracing dark objects. It happens because the correction measures how dark each pixel's surroundings are with a blur, and just outside a dark object that blur is dragged down, so nearby bright pixels get treated as shadow.

How does this tool suppress it?

Where a pixel disagrees strongly with its neighbourhood, which is what being on an edge means, the correction falls back toward the pixel's own brightness. On a black square against white at full lift, the peak rim measured 11 levels without suppression and 2 with it.

Why can I switch the suppression off?

So you can see what it is doing on your own photo. There is also a preset that turns it off deliberately for comparison.

What does region size change?

How large an area counts as one region. Large values give a natural result that reads as better exposure; small values start lighting individual objects, which is what produces the over-processed HDR look.

Can it recover a blown out sky?

Not if it is truly blown. When every channel is at maximum there is no information left, and pulling it down gives grey rather than detail. Recovery works on areas that are bright but not yet clipped.

Why do my lifted shadows look noisy?

Because shadow areas receive the least light and therefore contain the most noise. Lifting them reveals what was always there rather than creating it.

Can I use both sliders at the same time?

Yes, and that is the most common use. The weights are squared so each correction is zero where the other is working, which keeps the midtones from being flattened by both at once.

Does it shift the colours?

No. All three channels are scaled by the same gain, so a brightened shadow keeps its hue rather than drifting toward whichever channel had the most headroom.

Is this the same as HDR?

Related but not the same. True HDR merges several exposures to capture more range than one frame can. This works with the range a single photo already has, which is more limited but needs only one file.

Should I use this before or after levels?

After. Set the overall range with levels first, then recover detail at the ends, then do colour work last.

Why is a large region size slower?

The mask is built with a blur, and a larger radius means more work per pixel. The preview runs on a smaller copy so dragging stays responsive.

Are my photos uploaded to a server?

No. The local mask and the correction both run in your browser using the canvas API. Nothing is sent anywhere.

Which format should I export?

Keep the original for photographs. Lifting shadows exposes compression blocks, so re-export at quality 90 or above if the source was a JPEG.

Is transparency preserved?

Yes for PNG and WebP output. The alpha channel is untouched. JPG has no alpha, so transparent areas are filled with the background colour first.

Can I process a batch?

Yes. Add as many photos as you like and the same settings are applied to each, which suits a shoot taken under consistent lighting.

Can the adjustment be undone?

No. The correction is baked into the pixels. Your uploaded file is never modified, so keep the original.

Does it add a watermark or need an account?

No to both. No sign-up, no email wall, no daily limit and no watermark on the output.