back to top

How to Create a Cool Little Planet Photo in Photoshop

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.
Related course: Wow Factor Photography

“Little planet” photography uses the Polar Coordinates filter in Photoshop. The idea is to take a horizontal panorama and transform it into a sphere.

It’s called a “little planet” or “tiny planet” photo because it looks like a miniature globe with a caricatured landscape or cityscapes on the surface.

It’s a cool effect that looks like it needs lots of Photoshop know-how. But it’s easy and takes only a few steps to create a small world.

In this article, I’ll take you through the steps to create your very own little planet photo. I’ll let you in on a few of my secrets in choosing images and making the process seamless.

A single tree rises out of a tiny planet surrounded by a hazy sunrise.
A single tree rises out of a tiny planet surrounded by a hazy sunrise. Image by Jenn Mishra

How to Make a Small Planet in Photoshop

Choosing an Image

Little planet photos work well with panorama and 360-degree images. But photos of any image size will work.

I look for these characteristics in an image:

  1. Strong vertical elements like trees or buildings
  2. Matching left and right sides of the frame
  3. Simple sky and ground

The best images have strong vertical elements. The taller, the better. If everything is near the horizon, nothing will pop out of your small planet. The Taj Mahal worked great.

Taj Mahal as a tiny planet made in Photoshop
Taj Mahal as a tiny planet. Image by Jenn Mishra

The effect is going to wrap the left edge of your frame onto the right. If these don’t match, you will see the join. This is one reason 360-panoramas are so good for this type of effect. But I’ve included a little trick in the steps below to help if your image edges don’t match.

Photos with a clear blue sky and simple ground texture are easier to transform into a small planet. The more details there are in the sky or ground, the more work you’ll need to do afterwards to make it look perfect.

The ground will become the globe. The sky will become the outside of the globe and the background. The amount of ground you have determines the size of your planet.

A flower tiny planet image
There is no ground in the original image, so there is no planet. The flowers seem to grow out of the centre. I also duplicated the layer, rotated it, and changed the blend mode. Image by Jenn Mishra

Step 1: Open Your Photo

I’m going to work with a cityscape of Chicago at night.

Chicago cityscape at night
Cityscape of Chicago at night. Image by Jenn Mishra

Open your image in Photoshop. Other programs like the free Gimp program can also create this effect.

Step 2: Straighten the Horizon Line

If your horizon line isn’t straight, open the Crop tool. Select the Straighten tool in the upper toolbar and drag it across the horizon. Photoshop will straighten your image.

Step 3: Prepare the Edges

Matching the left and right edges of your frame is an optional step, but it may save you a lot of clean-up work later. I’m going to match the horizon line by removing a couple of buildings (sorry, Chicago!) I’m also going to match the colour gradation in the sky.

  1. Select the left-hand section of your image. How much depends on your image, but I try for at least ¼.
  2. Copy onto a new layer (Ctrl or ⌘J)
  3. Flip the layer horizontally Edit >Transform>Flip Horizontal
  4. Move the layer to right edge of frame
  5. Add layer mask
  6. Select gradient tool set on basic black and white.
  7. Fade in effect from the centre to the right edge of the frame. The blend doesn’t have to be perfect.
  8. Merge layers Layers>Merge Layers (Ctrl or ⌘E)
Screenshot of Photoshop. Shows copied left part of the image copied onto a new layer and procedure to flip the layer horizontally.
Screenshot of Photoshop. Shows copied left part of the image copied onto a new layer and procedure to flip the layer horizontally.
Screenshot of Photoshop. Shows gradient filter applied on the layer mask.
Screenshot of Photoshop. Shows gradient filter applied on the layer mask.

Step 4: Create a Square Aspect Ratio

It might seem odd, but to create a globe, you must first compress the image into a square.

  1. Open Image>Image Size… (Ctrl or ⌘I)
  2. Click constrain proportions icon to unlink height and width image size dimensions
  3. Enter an equal number in height and width. I usually enter the smaller measurement into both boxes, but it doesn’t make much difference.

If you forget to make your image a square, you’ll get an oblong shape. This isn’t a globe. But you may like the shape.

Tiny planet cityscape photo
Oval shape created by not changing the aspect ratio to a square. Image by Jenn Mishra

Step 5: Flip the Image Vertically

Turn your image upside-down by going to Image>Image Rotation>Flip Canvas Vertical.

Image rotation will create a planet image. If you don’t do this step, you’ll create a hole. Your vertical elements will be inside. Try it! You might like it.

A tiny planet photo
Hole created by leaving the image in its original orientation. Image by Jenn Mishra

Step 6: Apply the Polar Coordinates Filter

The final step is to apply the Polar Coordinates filter. Go to Filter>Distort>Polar Coordinates…. This will open the Polar Coordinate dialogue box.

Select Rectangular to Polar.

Click OK.

That’s it! You’ve created a little planet image.

Finishing Touches

You may need to clean-up the seam where the edges meet. I use the healing brush, content-aware fill, and the blur tools to help blend the edges.

Many photographers like to do something with their backgrounds. I like to blur the tell-tale lines created in the corners. In this image, I added stars to the night sky.

Final little planet photo of the Chicago skyline
Final little planet photo of the Chicago skyline. Image by Jenn Mishra

Create Tiny Planets With Your Smartphone

You don’t need Photoshop to create a tiny planet. Many smartphone apps create small planet images in a snap.

I use Tiny Planets. This is an app for your iPhone or Android. Point your camera at a scene and the app will create a tiny planet. Or a rabbit hole if you prefer. It’s that easy. Point. Click.

It will even work on images in your camera roll.

Tiny London skyline created with Tiny Planets app
Tiny London skyline created with Tiny Planets app. Image by Jenn Mishra

Conclusion

Little planet photography looks out-of-this-world, but it’s easy.

Prepare your image in Photoshop by flipping it vertically and creating a square. Go to Filter>Distort>Polar Coordinates to apply the filter. There you have it!

Tiny planet of St. Louis skyline under Independence Day fireworks.
Tiny planet of St. Louis skyline under Independence Day fireworks. Image by Jenn Mishra

You may create cool effects even in your mistakes, so you have nothing to lose!

Examples of Little Planet Photography

Little Planet Photography is one of the topics we cover in our creative photography course, Wow Factor Photography. Below are some of the photos taken by our students. If you’d like to learn more, check out the course here.

Tiny Planet photography
Image by Hallie Young
Tiny Planet photography
Image by Irina Crook
Tiny Planet photography
Image by Stuart Glen
Show Comments (0)
[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]