Facebook recognizes and processes 360 photos by looking for camera-specific metadata found in photos taken using 360-ready cameras. This information is embedded in photo's Exif (Exchangeable image file format) metadata tags, and if you're sharing 360 photos straight from camera, Facebook should automatically process and present them as interactive 360 photos.
However, when metadata has been stripped from pictures or never existed in the first place, Facebook might not be able to tell that your photo is a 360 photo. Sometimes, metadata is stripped during image editing, but other workflows can also strip metadata from pictures. Here are some common reasons metadata might be missing:
In these cases, the correct metadata must be injected into your photos before they can be shared as 360 photos.
There are two sets of metadata tags Facebook looks for to determine whether a photo is in 360:
ProjectionType). Note that this is not exactly the same as the full spec linked above.
To inject metadata, you'll need to edit the XMP tags in the Exif data. Here are options for doing so:
Full, spherical 360 photos:
These use “equirectangular” projection. 360 Photos must fulfill the following requirements for Facebook to process them properly:
Most photographer-targeted Exif editors do allow the editing of the Exif XMP tag "ProjectionType," but if you're technical, you can use the popular command-line tool, exiftool.
- exiftool -ProjectionType="equirectangular" photo.jpg
# 'photo.jpg' is the photo you want to tag
When you're done editing metadata, access Facebook in a desktop web browser to do your upload.
When uploading directly from a mobile device, Facebook first looks for spherical metadata. If that is absent, we consider the “make” and “model” of the device that took the photo to understand how to correctly interpret the panorama (that is, we need to know how far a given amount of pixels wraps around our viewport cylinder). If, for some reason you have edited or otherwise lost metadata, you have the following options:
- exiftool -Make="camera_make" -Model="camera_model" photo.jpg
# replace 'camera_make' and 'camera_model' with the appropriate values
# 'photo.jpg' is the photo you want to tag
If you want to create an image that has the correct metadata to be interpreted as 360, we offer the following templates to help you get started.
These can be used to create 360 photos and panoramas without injecting metadata, as it is built into the template. Cylindrical panorama templates are described by horizontal field of view (FOV) and vertical FOV, and there is also a full spherical (equirectangular) template available.
Choose the template that most matches your intended field of view, conform your picture into the template's image dimensions, and use Photoshop's “Save As...” to save a JPG. See a video example of using one of the panorama templates.
You can open and edit 360 photos in common editors.
Pro tip: Adobe Photoshop's "Save As" feature preserves camera metadata, where as "Export As" and "Save for Web" do not.
A way to bypass all of this metadata discussion is to simply use "Save As" in Photoshop.
If creating your own 360 Photo, using special hardware or cameras, or uploading from 3rd party software, the following resolution, format, and size guidelines apply.
Projection types: We accept equirectangular, cubestrip projection, or cylindrical (for panoramas only) example of our cubestrip format: https://www.dropbox.com/s/qyidmid631t7d0y/cubestrip%281%29.jpg?dl=0
File resolution and size limitations:
Photos should be less than 30,000 pixels in any dimension, and less than 135,000,000 pixels in total size. File sizes could be as big as 45 MB (JPEG) or 60 MB (PNG). We recommend using JPEG for 360 photos and keeping the file size less than 20-30 MB.
Note: These limits are the maximum values and apply to web uploads and direct Graph API uploads.
Mobile uploads have additional limitations applied during upload. If you want to be closer to the maximum value we recommend you upload from web.
Due to bandwidth considerations the maximum resolution for mobile might be closer to 6k-8k for long edge; therefore, you could select a larger image on mobile, but it might be resized to this maximum size during upload to Facebook.
If you'd prefer to use exiftool to inject cylindrical panorama metadata, you can use the following commands:
- # 120º h_fov, 86º v_fov
- exiftool -FullPanoWidthPixels=18000 -FullPanoHeightPixels=9000 -CroppedAreaLeftPixels=6000 -CroppedAreaTopPixels=2350 -CroppedAreaImageWidthPixels=6000 -CroppedAreaImageHeightPixels=4300 -ProjectionType=cylindrical file.jpg
- # 150º h_fov, 86º v_fov
- exiftool -FullPanoWidthPixels=14400 -FullPanoHeightPixels=7200 -CroppedAreaLeftPixels=4200 -CroppedAreaTopPixels=1880 -CroppedAreaImageWidthPixels=6000 -CroppedAreaImageHeightPixels=3440 -ProjectionType=cylindrical file.jpg
- # 180º h_fov, 86º v_fov
- exiftool -FullPanoWidthPixels=12000 -FullPanoHeightPixels=6000 -CroppedAreaLeftPixels=3000 -CroppedAreaTopPixels=1567 -CroppedAreaImageWidthPixels=6000 -CroppedAreaImageHeightPixels=2867 -ProjectionType=cylindrical file.jpg
- # 240º h_fov, 86º v_fov
- exiftool -FullPanoWidthPixels=9000 -FullPanoHeightPixels=4500 -CroppedAreaLeftPixels=1500 -CroppedAreaTopPixels=1175 -CroppedAreaImageWidthPixels=6000 -CroppedAreaImageHeightPixels=2150 -ProjectionType=cylindrical file.jpg
- # 300º h_fov, 86º v_fov
- exiftool -FullPanoWidthPixels=7200 -FullPanoHeightPixels=3600 -CroppedAreaLeftPixels=600 -CroppedAreaTopPixels=940 -CroppedAreaImageWidthPixels=6000 -CroppedAreaImageHeightPixels=1720 -ProjectionType=cylindrical file.jpg
- # 360º h_fov, 86º v_fov
- exiftool -FullPanoWidthPixels=6000 -FullPanoHeightPixels=3000 -CroppedAreaLeftPixels=0 -CroppedAreaTopPixels=783 -CroppedAreaImageWidthPixels=6000 -CroppedAreaImageHeightPixels=1433 -ProjectionType=cylindrical file.jpg
- # 360º h_fov, 65º v_fov
- exiftool -FullPanoWidthPixels=6000 -FullPanoHeightPixels=3000 -CroppedAreaLeftPixels=0 -CroppedAreaTopPixels=958 -CroppedAreaImageWidthPixels=6000 -CroppedAreaImageHeightPixels=1083 -ProjectionType=cylindrical file.jpg
We recognize panoramas from popular smart phones including the following:
I made my own 360 photo and followed your instructions. Why does my 360 photo look so strange?
Facebook honors some metadata tags that do things like specify field of view.
You can see a full list of what we look for here: https://developers.facebook.com/docs/graph-api/reference/photo/ -
see spherical_metadata (tap arrow to expand JSON params and see the documentation on the sub-parameters like
Make sure that the FOV is consistent with what you want. Use one of the metadata editors discussed above to check these values.
Using a standard image editor to edit equirectangular projections can be extremely challenging. You're editing pixels in a non-linear space that contains a lot of distortion. Here are a couple hints for successful editing.
Editing equirectangular projections near any image border is difficult. The top and bottom of an equirectangular image is very distorted, and the image actually wraps across the right and left border.
Let's use one of the most common editing desires as an example: tripod removal. At the very bottom of this 360 photo taken at Facebook's Hacker Square is a tripod:
If this were a normal image, it would be easy to remove the tripod. But here's what the picture looks like when opened using a traditional image editor:
The tripod is warped across the entire bottom of the image!
One solution is to rotate the 360 photo so that the tripod is no longer at the bottom. Using a tool like Flexify 2 makes this easy. Rotating latitudinally by -90 degrees puts the tripod in the vertical middle of the image. In the middle of the image, it's easy to remove the tripod using traditional tools like the Healing Brush.
Once you're happy with your edits, load Flexify 2 again and do a +90 latitudinal rotation to get the image back to normal orientation. Export as a jpg, inject the appropriate metadata, and you're ready to share to Facebook.
If you want to edit across the right / left seam, you can rotate your image longitudinally to get access to that seam, again, in the middle of your newly-transformed image. Here's a 180-degree longitudinal rotation of the same image:
You'll notice that the picture's orientation has been rotated exactly half way; the building with the Facebook display is now “behind” us. This, incidentally, is also a way to force the initial viewing orientation. By default, Facebook sets the default view to be the middle of the equirectangular projection. If you want the first view of a 360 photo to be something specific, transform your picture until your desired view is right in the middle.
Photoshop's built-in offset tool (“Filter→Other→Offset”) can also be used to rotate images longitudinally (sliding left and right, wrapping around). In theory, offsetting a picture using “Wrap Around” is a lossless action, so you can do this as often as you'd like when editing your picture.
Other projection types like cubemaps might be more suitable for conventional image editing. There are various tools out there that can convert from equirectangular to cubemap, but very few can convert from cubemaps back to equirectangular. One such tool is vrProjector, which can be used to convert back and forth between the two.
In general, you can use tools designed for panorama manipulation to transform equirectangular projections into other projections that might be more edit-friendly. When you do this, be aware that such transformation have the potential to be destructive to data, and you could be degrading the final quality of your 360 photo. Use care when doing such transforms!
Join our Facebook 360 Community Group to be a part of the daily 360 Video and VR conversation.Join Our Facebook Group