back to top

How to Remove Shadows in Photoshop (Step by Step)

A- A+

Subscribe Below to Download the Article Immediately

You can also select your interests for free access to our premium training:

Your privacy is safe. I will never share your information.

Shadows can be beautiful additions to your images. They add depth and interest. But they can also be distracting or too harsh. In this article, I’m going to show you how to remove shadows in Photoshop.

First, I’ll show you how to remove shadows in Photoshop using the content-aware fill tools. Then, I’ll show you how to reduce the harshness of shadows using layers. Finally, we’ll remove and reduce shadows on someone’s face.

How to Remove Shadows with Content-Aware Fill

Photoshop has a range of tools available to help you remove shadows. For removing simple shadows, I like to use content-aware fill tools like Patch tool. This method works best when the shadow you’re removing has clear lines and is being cast on a well-defined background.

I’m going to remove the extra shadows in this image on the edges of the frame. There is an ugly dark spot in the bottom right-hand corner. There are also odd extra shadows coming in from the right side of the frame.

[Twentytwenty]

Looking down on Indian workers at Hawa Mahal in Jaipur. Original showing shadows. Photo by Jenn Mishra Looking down on Indian workers at Hawa Mahal in Jaipur. Final after shadows removed. Photo by Jenn Mishra

[/Twentytwenty]

Step 1: Open and Duplicate the Background

Open the photo and right-click on the background layer. Select Duplicate Layer... (Ctrl or ⌘J). This will allow you to edit your photos without destroying the original image.

Step 2: Select the Patch Tool

Select the Patch tool from the toolbar on the left.

Make sure to select ‘Content-Aware‘ in the Patch dropdown menu. By doing this, Photoshop will help you by creating new pixels. This will make transitions as smooth as possible.

Step 3: Remove Shadows

Make a selection of the shadow you want to remove. I’m going to start by removing the odd-shaped shadow in the bottom right-hand corner of the frame

Screenshot of Photoshop workspace. Shows patch tool and toolbar.
Screenshot of Photoshop workspace. Shows patch tool and toolbar. I’ve selected the area I want to replace in the bottom right corner of the image.

Drag the selection to an area that looks similar. In my case, I select an area of pavement. While dragging, you can see the selected area change.

Let go when you’re satisfied with the area you’ve chosen, and Photoshop will smoothen it out.

If you’re not getting the look you want, change the Structure and Color options in the Patch toolbar. With Structure, you define how closely Photoshop should match the shapes. With Color, you define how much colour blending you want.

You may need to clean up the patch. Especially look for repeating patterns. These will draw the eye and call attention to your replacement. Use the Clone Stamp tool or the Healing Brush for detailed work.

Reduce Harsh Shadows using Layers

Sometimes the shadows are fine, but they are just too harsh. A softer shadow would be more pleasing.

I’m going to reduce the shadow in this image of this man reading a newspaper on an Indian train platform. The shadow makes sense in the image, I just want it to be less noticeable. I’ve also removed a little shadow in the foreground.

[TwentyTwenty]

Man reading newspaper on Indian train platform.
Man reading newspaper on Indian train platform. Photo by Jenn Mishra
Man reading newspaper on Indian train platform with shadow lightened.
Man reading newspaper on Indian train platform with shadow lightened. Photo by Jenn Mishra

[/TwentyTwenty]

Step 1: Select the Shadow

Start by selecting the shadow. You can do this by using the Object Selection Tool (keyboard shortcut W), the Lasso, or Quick Selection – whichever allows you to isolate the shadow best.

Step 2: Copy Shadow to New Layer

Copy the shadow to a new layer. To do this, go to Edit>Copy (Ctrl or ⌘C). Then, paste by selecting Layer>New>Layer via Copy (Ctrl or ⌘J).

Screenshot of Photoshop. Shows shadow selected and copied onto a new layer
Screenshot of Photoshop. Shows shadow selected and copied onto a new layer

Step 3: Adjust Brightness and Temperature

The easiest way to reduce harsh shadows is to lighten them. But shadows are cooler than the surrounding light, so you’ll also have to warm up the temperature to blend the shadow with the surrounding area.

You can do change both settings in Photoshop using the Brightness and Color Balance adjustments. But the adjustments might be easier if you use Adobe Camera Raw (ACR). Go to Filter>Camera Raw Filter (Shift + Ctrl or ⌘A). This will open a new workspace. You’ll have sliders similar to Lightroom.

Increase the shadow slider and warm up the temperature. Do this a little bit at a time. Click OK to check the blend.

If the shadows are really harsh, try decreasing the Clarity and Dehaze.

Removing Harsh Shadows from Faces to Improve an Image

In a studio, you can control where the light falls. But in street and travel photography sometimes the light falls awkwardly across someone’s face or body.

When removing or reducing shadows across a face, you’ll need a detailed tool and a lot of patience.

The Clone Stamp tool in Photoshop is perfect when you want more control over what you do when removing shadows from photos. If I’m looking just to reduce the shadow, I use the Dodge Tool. I’ll show you both techniques for removing harsh shadows from faces in Photoshop.

Remove Harsh Shadows with the Clone Tool for More Control

With the Clone Stamp tool, I’m going to remove shadows with a similar, but not shaded, section of the face. This image is a bit tricky because the woman is wearing a Venetian mask with texture and detail. I’m going to have to search the mask to find details that match the shaded section. Most faces will be simpler to clone.

Shadow across face of masked model in Venice.
Shadow across face of masked model in Venice. Photo by Jenn Mishra
A masked model in Venice.
Shadow removed on face of masked model in Venice. Photo by Jenn Mishra

[TwentyTwenty]

[/TwentyTwenty]

Step 1: Open and Duplicate the Background

Open the photo and right-click on the background layer. Select Duplicate Layer... (Ctrl or ⌘J).

Step 2: Select the Clone Stamp Tool

Click on the Clone Stamp in the toolbar on the left. It looks like a rubber stamp.

Pick a soft medium-sized brush. A soft brush will get you the best result because of the smooth edges. You can easily change the brush size by using the bracket keys. “[” will decrease your brush size. “]” will increase your brush size.

If I’m only trying to reduce, rather than remove shadows, I decrease the Opacity of the Clone tool to around 50%.

Step 3: Select the Clone Source

Select a non-shaded area of the face. Press the Alt or Option key and click to confirm the source pixels. The cursor will change into crosshairs.

The moment you click, the cursor will change and show the pixels you’ve selected.

Step 4: Remove Shadows from the Photo

Zoom in and start painting over the shadow you want to remove. You may have to repeat Steps 3 and 4 repeatedly. Select pixels that are closest in content and colour to those you are replacing. If you don’t like the result, undo by going to Edit>Undo Clone Stamp (Ctrl or ⌘Z).

For the best result, use different clone sources to cover the shadow. If it doesn’t look natural, go back and take pixels from another part of the photo and paint again. I also use the Healing brush when I can.

It’s important to avoid repeating patterns. These patterns are a sign of cloning and removing an object or shadow from a photo.

I’m aiming for a natural look, so I often don’t remove all shadows on the face. Think about where the light may have naturally have fallen.

Reducing Harsh Shadows on Faces Using the Dodge Tool

It might not be possible to remove a shadow on someone’s face completely, but you can reduce it using the Dodge tool.

[TwentyTwenty]

A masked model in Venice. A masked model in Venice.

[/TwentyTwenty]

Step 1: Open and Duplicate the Background

Open the photo and right-click on the background layer. Select ‘Duplicate Layer...’ (Ctrl or ⌘J).

Step 2: Select the Dodge Tool

Click on the Dodge tool in the toolbar on the left. It looks like a lollipop. In the Dodge menu, select Shadows under Range and enter between 10 and 50%. I find a little goes a long way. I can always build up the dodge effect by going over the area again.

Step 3: Paint over the Shadow

Zoom in and start painting over the shadow you want to reduce. If you don’t see a lot of change, increase opacity or switch the Range to Midtones.

If you make a mistake, go to Edit>Undo Dodge Tool (Ctrl or ⌘Z). You can also switch to the Burn tool, which looks like a clenched hand and darken the area again.

Conclusion

In this article, I showed you how to remove shadows in Photoshop. Photoshop has many tools to help you replace or reduce shadows in your photos. You can remove shadows from a background or across someone’s face.

Always try out different techniques to find out which one works best for you. Make sure to avoid patterns to get a natural result.

Delve into the world of editing with our Effortless Editing in Lightroom course!

Show Comments (1)
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]