360 Panorama Viewer

Step inside your photo. Or shrink it to a planet.

  • Tiny-planet mode
  • Save any view
  • Nothing uploaded
A harbor town photographed in the round and wrapped into a tiny planet, the water at its center and blue sky filling the rest of the frame

The guide

A 360 photo is a chart of directions, and every way of viewing it bends something

The 2:1 file a spherical camera saves is a table of where the light came from, not a picture, and each view cut from it trades one distortion for another.

  • 2:1 width to height of a full sphere, 360 degrees across by 180 down
  • 107.5 degrees seen side to side when a 16:9 frame is 75 degrees tall
  • 11.4 pixels per degree in a panorama 4096 pixels wide, in every direction
  • 7.5 MP smallest photo sphere Google Maps accepts, 3840 x 1920 pixels
  • 4096 texture size that effectively all WebGL systems support
Read the full guide Fold the guide 8 min · 18 sources

Open the file a 360 camera saves in an ordinary photo app and it looks broken. The horizon runs dead straight through the middle, the ground swells into a smear along the bottom edge, and whatever stood under the camera has melted across the whole width. Nothing is wrong with it. The file was never meant to be looked at.

It is better read as a chart, a table of what the camera saw in every direction. A picture appears only when software cuts a view from it, and every cut bends something. Choosing a view means choosing a distortion.

The chart: longitude across, latitude down

The layout is the equirectangular projection, which the U.S. Geological Survey’s manual on map projections calls probably the simplest of all to construct and one of the oldest. Ptolemy credited it to Marinus of Tyre, around A.D. 100. Longitude runs evenly across and latitude runs evenly down, so the formulas reduce to x equals longitude and y equals latitude. A sphere spans 360 degrees one way and 180 the other, and at one scale for both that makes an image exactly twice as wide as it is tall. That is the whole reason for 2:1, and panorama software generally assumes a file of that shape covers the full sphere.

Map makers call this the plate carree, a standard for global raster data, because the link between a pixel and the place it stands for is so simple. Panorama viewers like it for the same reason, and they call the two angles yaw and pitch. Turn a direction into two angles and you have the pixel.

The price is paid at the top and bottom. Every row of the image holds the same number of pixels, but the circles of latitude they stand for shrink toward the poles, down to a single point overhead and another underfoot. The manual gives the horizontal scale as one over the cosine of the latitude. Things are drawn twice too wide at 60 degrees, nearly six times too wide at 80, and without limit at the pole itself, which the projection shows as a line. So the spot beneath the tripod is spread along the entire bottom row. The image is not damaged there. It is oversampled, and a viewer squeezes it back.

The window: straight lines, at a price

A viewer undoes the chart by working backwards. For each pixel on the screen it asks which direction that pixel looks in, converts the direction to longitude and latitude, and fetches the color from the file. The tool on this page works exactly that way. A small program runs once for every pixel of the view, and the graphics hardware averages neighboring pixels of the file so that fine detail does not shimmer.

The usual window is rectilinear, the view of a pinhole camera, which cartographers call the gnomonic projection. Picture a flat sheet touching the sphere at the point you are looking at, and project onto it from the center of the sphere. Every great circle lands on the sheet as a straight line, so walls, horizons and lamp posts stay straight. That one property is why the result reads as a normal photograph and not as a map.

It cannot be kept up for long. Distance from the middle of the sheet grows as the tangent of the angle off axis, and the tangent runs away. The manual’s scale factors say how fast: at an angle c from the center, shapes are stretched by one over cos c across the radius and by one over cos squared c along it. Sixty degrees out, that is two times one way and four times the other. A full hemisphere can never fit.

Software draws the line earlier. The PanoTools library’s adjustable wide-angle projection allows at most 160 degrees across at the rectilinear end of its range, and the same documentation offers under 120 degrees as its example of a range the projection suits.

The demo image in the tool on this page makes this easy to check. Set the field of view to 75 degrees tall. On a wide screen the frame is 16:9, so the tangent of half that angle, 0.767, times 16/9 gives 1.364, and twice its arctangent is 107.5 degrees from side to side. A point on the side edge is therefore 53.8 degrees off axis, where the two stretch factors are 1.69 and 2.86. Now slide to 120 degrees tall. The horizontal view becomes 144.0 degrees, the edge sits 72 degrees out, and the factors jump to 3.24 and 10.5. Turn the view and the compass letters fatten and lean outward near the sides.

No program is at fault. The rule is as old as map making: every projection of a sphere onto a plane necessarily distorts the surface in some way. The only choice is which distortion to accept.

The planet: keeping shapes instead of lines

The tiny planet is what you get by making the other choice. It uses the stereographic projection, which the Geological Survey manual says was apparently invented by Hipparchus in the second century B.C. The flat sheet still touches the sphere at the center of the view, but the light is projected from the opposite point on the surface of the sphere, not from its middle. Distance from the center now grows as twice the tangent of half the angle, which is far gentler. Aim the view straight down and the ground under the camera becomes a disc, the horizon a circle around it, and the sky everything outside.

What makes the result pleasing is that the projection is conformal. In the manual’s words, relative local angles about every point are shown correctly, and the local scale in every direction around any one point is constant. Small things keep their shape wherever they land: a round table stays round and a square tile stays very nearly square. The manual calls the stereographic the only known true perspective projection that is also conformal, and the PanoTools documentation makes the practical point that it suits little planet pictures better than a standard fisheye does.

The cost moves from shape to size. The scale factor is two divided by one plus cos c, the same in all directions. Looking straight down, the horizon is 90 degrees from the center and is drawn at twice the scale of the ground at your feet. Thirty degrees above the horizon the factor is four, and at 150 degrees from the center it is nearly fifteen. The point directly overhead cannot be drawn at all. Clouds become long streaks. Straight roads become arcs of circles.

So the two views are honest about different things. The window tells the truth about straightness. The planet tells the truth about angles. The chart they are both cut from is true to neither, and only keeps the bookkeeping simple.

What the file has to carry

A sphere is a great deal of picture, and a view shows only a slice of it. The demo image is 4096 x 2048, which sounds generous and works out to 11.4 pixels per degree. The 107.5 degree view above therefore draws on about 1,223 columns of the image, and a 50.9 degree view, the tightest the tool offers on the same frame, on about 580. Spread across a screen 1,920 pixels wide, the first is stretched by half as much again and the second more than three times over. That is why a 360 photo that seemed sharp as a file turns soft the moment you zoom in.

Published figures reflect it. Google Maps accepts photo spheres of 7.5 MP or larger, which it spells out as 3840 x 1920 pixels, at a 2:1 aspect ratio. Ricoh’s Theta Z1 saves pictures of 6720 x 3360 pixels, about 23 megapixels, stitched from the output of its two lenses. Even that is only 18.7 pixels per degree. To put one image column behind every column of a 3840 pixel wide screen across a 90 degree view would take 42.7 pixels per degree, or 15,360 pixels around the circle. That is a panorama of about 118 megapixels.

Graphics hardware sets a ceiling of its own, because the picture has to be loaded as a single texture. MDN’s guidance for WebGL is that 4096 is the texture size effectively all systems support, even though a desktop may manage 16k. The OpenGL ES 3 reference, from which WebGL 2 is derived, requires only 2048. This tool asks the device for its limit and shrinks anything wider, to 8192 pixels at most, so a large panorama may be shown at less than its full resolution.

Pixels are one thing a file must carry. A label is the other, because nothing in the pixels says “sphere”. Apps learn it from metadata, and the common vocabulary is Google’s Photo Sphere XMP, a set of GPano properties embedded in the file in the way Adobe’s XMP standard describes.

ProjectionType names the layout, and Google’s products currently support only the value equirectangular. UsePanoramaViewer says whether to open the image in a sphere viewer rather than flat. Six pixel counts, the full panorama’s width and height and the cropped area’s width, height, left and top, say how much of the full sphere the picture covers and where it sits. PoseHeadingDegrees records the compass heading at the center of the image. Google’s own example describes a file of 4000 x 2000 pixels.

This tool reads none of it. It looks only at the shape of the image, treats anything within one percent of 2:1 as a full sphere, and warns when the shape is something else, because a cropped panorama stretched over the whole sphere will look wrong. It does not write the tags either. A saved view is an ordinary PNG, and other apps will show it flat.

What a viewer cannot fix

A viewer can only re-project what the camera recorded, and the recording has seams. A camera like the Theta Z1 builds its sphere from two lenses, and two lenses cannot sit at the same point. PanoTools defines the resulting parallax plainly: shoot the same scene from a slightly different point of view and the foreground shifts in relation to the background. Stitching software has to blend the overlapping images in the presence of parallax, lens distortion, scene motion and exposure differences, and whatever it cannot hide is left as a seam or a ghost. Distant scenery lines up. Anything close to the camera may come out doubled or cut. No projection repairs that.

Then there is the bottom of the sphere. The nadir is the point directly below the camera, and PanoTools notes that it usually gives much more trouble than the zenith, because there is either a tripod to cover or parallax errors to edit. Google asks for no gaps around the horizon, no significant stitching errors and no distracting effects in the nadir. In a tiny planet the nadir is the center of the picture, so whatever stood there is the first thing you see.

This tool does not stitch, level, retouch or edit metadata, and it assumes the horizon in the file is already level. It will not turn a wide-angle snapshot into a sphere. What it does is let you hold one chart and try the lenses on it, and notice that the scene never changed. Only the projection did.

Sources

Every source consulted for this guide. Links checked October 3, 2026.

  1. Map projections: A working manual U.S. Geological Survey, Professional Paper 1395, by John P. Snyder
  2. Gnomonic projection Wikipedia
  3. Stereographic projection Wikipedia
  4. The General Panini Projection - PanoTools.org Wiki PanoTools.org Wiki
  5. Photo Sphere XMP Metadata Google for Developers
  6. Create & publish Photo Spheres to Google Maps Google Maps Help
  7. Ricoh Theta Wikipedia
  8. Image stitching Wikipedia
  9. Map projection Wikipedia
  10. WebGL best practices MDN Web Docs
  11. glGet - OpenGL ES 3 Reference Pages Khronos Group
  12. WebGL 2.0 Specification Khronos Group
  13. Equirectangular Projection - PanoTools.org Wiki PanoTools.org Wiki
  14. Rectilinear Projection - PanoTools.org Wiki PanoTools.org Wiki
  15. Stereographic Projection - PanoTools.org Wiki PanoTools.org Wiki
  16. Parallax - PanoTools.org Wiki PanoTools.org Wiki
  17. Nadir - PanoTools.org Wiki PanoTools.org Wiki
  18. Equirectangular projection Wikipedia