Do You Want to Understand Your Frustrating Camera and Take Great Photos Today?

Logo

Watch this free video to...

  • End the frustration by adjusting just a few simple controls on your camera...
  • Make photography much easier, and look more professional too...
  • Remove all the complication & guesswork from using your camera...

Subscribe to our newsletter to watch now...

Do you want to understand your camera and take great photos today?

Yes Please

The Droste Effect is an interesting and creative way to show a scene photographically. It is known as a mise en abyme. This is a formal technique of placing a copy of an image within itself, often in a way that suggests an infinitely recurring sequence.

A Dutch brand of cocoa, named Droste, made it famous. Their packaging tin depicted an image designed by Jan Misset in 1904. The design displayed a nurse carrying a serving tray with a cup of hot chocolate and a box with the same image. It has since been used in the packaging of a variety of products.

It is simple enough to create, and all you need is one image, Photoshop or a program known as Photo Spiralysis.

The packaging of Droste cocoa tin depicting an image designed by Jan Misset in 1904.

Droste Effect Method One – Photoshop

The easiest way is to open your image in Photoshop, and copy and paste the image smaller and smaller. Here is our image.

A man holding a framed painting outdoors

Step One – Open your image in Photoshop.

Screenshot of Photoshop editing a photo of a man holding a framed painting - droste effect step one

Step Two – Duplicate and paste the image.

Screenshot of Photoshop editing a photo of a man holding a framed painting - how to create the droste effect step two

Step Three – Use Free Transform to scale the image down to size.

Screenshot of Photoshop editing a photo of a man holding a framed painting - droste effect step three

Screenshot of Photoshop editing a photo of a man holding a framed painting - droste effect step three

Step Four – Place it over the area you are going to work on.

Screenshot of Photoshop editing a photo of a man holding a framed painting - droste effect step four

Step Five – Drag the smaller image to the bottom of the layer stack.

Screenshot of Photoshop editing software

Step Six – Select the ‘Quick Selection Tool’.

Screenshot of Photoshop editing a photo of a man holding a framed painting - droste effect step six

Step Seven – Select the area the image will go in.

Screenshot of Photoshop editing a photo of a man holding a framed painting - droste effect step seven

Step Eight – Select the ‘Eraser Tool’.

Screenshot of Photoshop editing a photo of a man holding a framed painting - droste effect step eight

Step Nine – Erase the areas to show the layer underneath.

Screenshot of Photoshop editing a photo of a man holding a framed painting - droste effect step nine

Step Ten – Repeat Steps 2 to 10 as many times as you need to.

Screenshot of Photoshop editing a photo of a man holding a framed painting - droste effect step ten

And here you have the final image.

The final droste effect image of a man appearing to hold a photo within a photo within a photo

Droste Effect Method Two – Photo Spiralysis

The other method is to open your image in Photo Spiralysis. This is the image we are working from.

The original image of a man holding a framed painting outdoors

Step One – Open the webpage of Photo Spiralysis. Click on the folder icon in the top left-hand corner to import your file.

Screenshot of opening the web page of Photo Spiralysis

Step Two – Familiarise yourself with the settings. Magnification makes the image larger or smaller. Spirals makes more or less spirals in the image and Stretch allows you to stretch the image further.

Step two of creating a droste effect photo on Photospiralysis

Step Three – The red dot in the middle is the centre-point. This is the area you need to click and drag to adjust the images.

Screenshot of step three of creating a droste effect photo on Photospiralysis

Step Four – First – We change the spirals to 2. This is when we start to see a change in our image.

Screenshot of step four of creating a droste effect image on Photospiralysis

Step Five – The aim is to ensure the image inside the frame we are using is not visible in our final image.

Screenshot of step five of creating a droste effect image on Photospiralysis

Step Six – Change the magnification to 2 to get more images repeated, hiding the areas we do not want.

Screenshot of changing the magnification on Photospiralysis

Step Seven – By changing the stretch from 1 to 1.1 gives us a very drastic change. Now, we start to see our image take shape.

Screenshot of changing the stretch on Photospiralysis to create a droste effect photo

Step Eight – Play around with the placement of the image by moving the red dot (centre-point).

Screenshot of image placement on Photospiralysis to create a droste effect photo

Step Nine – Change the magnification and stretch to find the perfect combination. We found that 2.8 magnification showed us we were on the right track.

Screenshot of changing the magnification on Photospiralysis to create a droste effect photo

Step Ten – Our final numbers were Magnification = 2.836, Spirals = 2 and Stretch = 1.103.

Screenshot of editing in Photospiralysis to create a droste effect photo

Step Eleven – Click on the create the final image icon, then render and save.

Screenshot of saving an image in Photospiralysis

And there we have it. An image with a spiral that repeats itself indefinitely.

It can be a little finicky to get right, but with patience and time, you can create something really interesting.

The final image of a man appearing to hold a photo within a photo within a photo

For more great Photoshop projects, check out our posts on turning photos into paintings or the cool photoshop trick ‘insomnia’.

A note from Josh, ExpertPhotography's Photographer-In-Chief:

Thank you for reading...

CLICK HERE if you want to capture breathtaking images, without the frustration of a complicated camera.

It's my training video that will walk you how to use your camera's functions in just 10 minutes - for free!

I also offer video courses and ebooks covering the following subjects:

You could be just a few days away from finally understanding how to use your camera to take great photos!

Thanks again for reading our articles!

Craig Hull

Craig is a photographer currently based in Budapest. His favourite photographic areas are street and documentary photography. Show him a darkroom and he'll be happy there for days. As long as there are music and snacks. Find him at craighullphotography.co.uk and Instagram/craighullphoto

[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]