Now that you have clicked on the title of this tutorial to read more, I assume you came with an open mind or with curiosity.
Capturing the “perfect” reflection is every photographer’s dream. A nice reflection not only enhances the subject but also adds the “wow factor” to the image.
In reality, the perfect reflection is hard to come by. The chances of having one are dependent on several factors such as weather, crowd, unwanted objects in the reflection, etc. I have photographed many images with reflection and only a few of them look decent even before post-processing.
Lucky for us in the digital age, having the reflection we want for our subject can be achieved in post-processing. All you need is time and a little bit of effort.
In this tutorial, I’m going to show you how to enhance existing reflection you have captured in your image or even create one. This post is very heavy on post-production in Photoshop so it might not be for everyone.
Prelude
Although I’m showing you steps in Adobe Photoshop, the same principles can be applied in other image editing software.
All five techniques allow you to create reflections with varying degree of realism. In my opinion, there isn’t the best way of doing it, it’s only a matter of how much time you’re willing to spend in post-processing.
I’ll start with the simplest method. The post-processing steps get heavier as you move through the page.
Method 1 - Enhance Existing Reflection
If you’re not so keen on post-processing your image in a heavy duty way, this is probably the best option of all. This method allows you to enhance the reflection that is already captured in your image.
But if you’re looking for methods to create reflection, skip this one and carry on with the next.
To enhance the reflection, you would first need to make a copy of the source of reflection, i.e. the scene itself.

Create a copy of the scene (top half of the reflection)
Use the Rectangular Marquee tool to draw around the scene in order to create a selection. This usually ends at the horizon where the scene becomes the reflection. Now copy and paste by using the keyboard shortcut Cmd/Ctrl+C then Cmd/Ctrl+V to make a copy of the selection.

Flip reflection vertical
While the layer you just created is still in selection, use Cmd/Ctrl+T to transform. Place your cursor in the image, right click and select Flip Vertical. Use to Move Tool to move it down where the existing reflection is. Reduce the opacity of the layer to see if the reflection layer matches the layer underneath. Align if necessary but it doesn’t have to be perfect.

Change blend mode and mask out unwanted areas
Now change the blend mode of the reflection layer to Soft Light. You should now see the reflection is more pronounced. Add a layer mask and use a black brush to mask out areas you don’t want the reflection to be.
Method 2
From this method onwards, the techniques are to create reflection rather than enhancing an existing one.
Similar to Method 1, first use the Rectangular Marquee tool to draw the selection you want to use to create the reflection. Copy and paste then flip it vertically. Use the Move Tool to move the layer down where the reflection should be.
If the canvas size is too small to accommodate the newly created reflection, you can make it bigger by extending it downward. This can be done easily by selecting to Crop Tool from the Tools Panel or with the keyboard shortcut C. Click and drag the lower border downward. Make it bigger than you think you need. It can be resized later on after you have positioned the reflection.

Make the canvas longer than you need
Make the layer into a smart object by right clicking and select Smart Object from the menu. Then go to Filter > Distort > Ripple. I normally keep the settings as default but feel free to change it to experiment with the effect.

Converting layer to smart object
The advantage of converting a layer into a smart object is that if you think the effect is too strong or weak, you can click on the filter on the layer mask to re-apply again. Otherwise, you would have to re-do the steps each time you want to change the strength of the effect.

Adding ripple to the reflection
Once you’re done, change the blend mode to Soft Light and adjust the opacity of the layer to your liking.
Now, this is very important. Reflections are always darker because the reflected light off reflection is always less than the reflected light from the actual scene. So, to make it darker and looking more realistic, add a Curves or Levels adjustment layer and clip it to the reflection layer. Apply adjustment until the reflection looks just a little darker.

Clip tonal adjustment to the layer below
Method 3
This method continues from where Method 2 left off.
After you have applied ripple to the reflection, add motion and gaussian blur to make it more realistic.
Make sure the layer for reflection is selected, go to Filter > Blur > Motion. In the Motion Blur panel, set Angle to 90, Distance to 50 pixels and click OK. The area close to the horizon is likely to be blurred off, so use the Move Tool to move the reflection layer up to cover that gap. Add a layer mask and use a black brush to mask out any unwanted blurred areas above the horizon if necessary.

Adding motion blur to reflection
Next, add gaussian blur. Working on the same layer, go to Filter > Blur > Gaussian Blur. In the Gaussian Blur panel, set Radius to 2 pixels.

Adding Gaussian blur to reflection
When you’re done, change the blend mode of the reflection layer to Soft Light, tweak the opacity and apply a tonal adjustment layer to make the reflection darker.
Method 4
This method creates the most realistic reflection and also the most time-consuming. The main difference with this technique lies in the details in creating ripples.
Similar to all methods above, start by drawing a selection of the scene, flip it vertically and move it down to the position of the reflection. Remember to adjust the canvas size. Duplicate the reflection layer.
Select the top reflection layer, go to Filter > Blur > Motion. Set the Angle to 90 and Distance to 30 pixels. Then, select the Smudge Tool from the Tools Panel, make sure Mode is Normal, set Strength to 5%. The brush size depends on the resolution of the image. In this example, my brush size was 700px. Brush on the reflection layer horizontally twice or three times, each pass in a different direction. Make sure the layer is not a smart object because the Smudge Tool won’t work. If you converted the layer to a smart object, rasterize it by right click and select Rasterize Layer from the menu. Once done, select both reflection layers to merge by Cmd/Ctrl+E.

Smudge the reflection several times across in different direction
Add a new layer and clip it to the reflection layer by holding down Opt/Alt and placing the cursor between the two layers and click. Now fill the new layer with white color (Shift + Backspace and select White) and add noise by going to Filter > Noise > Add Noise. Set Amount to 400%, Distribution to Gaussian, check the box for Monochromatic and click OK.

Clip a new layer, fill white and select Add Noise from the menu
Now we need to blur the noise by going to Filter > Blur > Motion. Set Angle to 0, Distance to 50 pixels and click OK. Increase the contrast of this layer by adding a Curves adjustment layer and clip it to the layer below. In the Curves adjustment layer, move the lower left arrow towards the center until the background of the noise layer becomes black. Then, move the upper right arrow towards the center until the lines look brighter.

Adding motion blur and tonal adjustment
To make ripples more realistic, we need to change the perspective. In reality, ripples closer to us look bigger and become smaller further away into the distance. First, use the Zoom Tool to zoom out of the image. Then, click to select the noise layer, go to Edit > Transform > Perspective. You should now see a rectangular frame around the image. Click either the lower left or right corner and drag it out as further as possible. Do the opposite with the upper left or right corner, drag it in towards the middle. Click Ok when you’re done.

Transforming perspective on the noise layer
Combine the noise layer and the tonal adjustment layer by selecting both and Cmd/Ctrl+E. Change the blend mode to Soft Light and Opacity to 30% (experiment with this to your liking).

Change blend mode to soft light and opacity to 30%
If you are keen, you can create the shadows of the ripples. To do so, duplicate the ripples layer (the one with added noise), clip it to the bottom layer and change the blend mode to Overlay. Select the Move Tool and hit the down arrow key on your keyboard a few times.

Adding shadows to the ripples
Lastly, we’re going to create a gradient to make the reflection looks darker. Before that, select both layers of ripples and also the reflection layer, then merge all three using Cmd/Ctrl+E. Add a new layer on top, select the Gradient Tool, make sure it’s Linear gradient, change foreground color to black and select black to transparent from the scroll down menu. Draw a gradient by clicking and dragging from the bottom of the reflection up to the horizon where the reflection ends. Change the opacity of the layer to your liking.

Darkening reflection using the Gradient Tool
Method 5
All methods above work great for reflections in daylight and work well to some degree for reflections at night. If you want a more realistic reflection at night, you can still use any of the above methods but add one more step before you distort the reflection with more blur filters.
When buildings lights are turned on at night, the bigger lights typically leave a prominent trail in the reflection. So, to create a realistic night reflection, you should mimic this effect.
Once you have made a copy of the scene and placed it in position, apply a motion blur filter with Angle set at 90 and Distance at 30 pixels.
Now add a new layer and select the Brush Tool from the Tools Panel. Hold down Opt/Alt and the cursor becomes an eyedropper tool. Use this to sample the color from the big lights (e.g. typically signboards with company logo or names). Set the brush size to about the width of the light, paint a vertical line on where you think it should be.

Painting in light trails to reflection using the Brush Tool
Make sure the new layer is still selected, go to Filter > Blur > Motion. Set Angle to 90 and Distance to 30 (you can play with this to your liking). Then, add a small amount of Gaussian blur just to make it a little more fuzzy but not too diffuse.

Adding motion blur to the painted light trails
When you’re done, merge it with the reflection layer and carry on with the rest of the post-processing steps if you're planning to.
Automate With Photoshop Actions
You can certainly record any of the above into Photoshop Actions so you only have to do the steps once. While writing this tutorial, I came across a Photoshop Actions on Adobe Exchange.
It’s called Reflections in Photoshop and it’s free. You can click here to download the actions. You would need Creative Cloud Desktop App to install it.
Creating Is Not Cheating
This is purely my personal opinion and I know you may not agree which is perfectly fine.
As a photographer and a digital artist, I sometimes utilize post-processing to create the images I have visualized. This means there will be times when my images look nothing like you would expect to see in real life but a reflection of my own interpretation.
Don’t hesitate to contact me if you’re not clear about the methods. I hope you find this useful, eye-opening or at least interesting.
For more tutorials on image editing technique, please check out the editing technique resource page!