If you shoot 360 photos with a 360 camera (Ricoh Theta or similar) or use the 'panorama' feature in a smartphone camera app, Facebook and Google know the results should be used as an interactive panorama. This is thanks to embedded metadata these sites look for when an image is uploaded.
Exif Fixer helps fix this; it reads the full metadata from a selected JPEG image, and if the required elements are missing it can add them for you with a single click.New in Exif Fixer 3.1.6:
1. An expanded list of camera makers and models for Fake Camera Data insertion: Insta360 ONE R, Insta360 ONE X, Insta360 ONE, Kandao QooCam 8K, Kandao QooCam, LabPano Pilot Era, LabPano Pilot One, MADV Madventure 360, Mijia 360, Ricoh Theta S, Ricoh Theta V, Ricoh Theta Z1, Ricoh Theta, Samsung Gear 360, Xphase Pro S. Many thanks to everyone who helped me collect this data.
If the 360 ‘one-shot’ camera you use isn't listed here pick something similar, this isn't a critical detail. If you make a 360 camera and you’d like it to be included please send me a sample 360 image with embedded metadata.
2. Better support for PNG panorama files (but JPEG is still best for most end uses).
3. More reliable Linux operation. Exif Fixer now sets the executable bit for its copy of exiftool on launch.
4. Optional external exiftool use. The exiftool command-line program is included with Exif Fixer, in the Dependencies directory, as Exif Fixer requires it. If you have a copy of exiftool installed and wish to use that instance instead, click the ‘Use separate exiftool’ checkbox.
In order to support both the latest cylinder height calculations (which are still not fully supported in some services) and the 'legacy' cylinder height format there is a 'Legacy Cylinder Output' option.
Tips are used to help offset the cost of my software prototyping and development tools and are greatly appreciated. Many thanks to those who have tipped me!
(If you have a PayPal account this PayPal.me link is quicker.)
Click to choose a JPEG, or drag-and-drop a JPEG into the main image area. If the necessary properties are missing you can add the data in a single click.
Equirectangular panoramas (360x180 degrees), 360 cylinders and partial (non-360) cylinder panoramas are all supported. For partial panoramas (for example smartphone ‘panorama’ snaps) estimate the approximate angle of coverage with the slider and the rest of the calculations are made for you.
If you find a 360-degree cylinder doesn't perform in Facebook as an interactive image, setting it manually to equirectangular might help. But be aware that different projection types produce slightly different visual behaviour. If you want to experiment it is useful to test with Facebook posts set to 'Only Me' privacy.
You may set the North point in your panorama if you like, although this isn't required metadata and is only minimally used by services at this time. The same applies to custom horizons, which can only be set when the 'Legacy Cylinder Output' option is turned off.
Mac users may need to open this app the first time by right-clicking/control-clicking and selecting 'Open'. Windows users may see a one-time warning about allowing unauthorised applications to run. In both cases this only happens once.
Every year or so a version of Avast's security software for Windows reports finding a virus inside the software zip archive. This is a known 'false positive' alert. It has been fixed in recent Avast updates, although this could crop up again. To be 100% clear: the virus report by Avast software is a false positive; the zip archive is clean – and it has actually never been near a PC until it is downloaded to one! Updating the Avast virus definitions (and using another anti-virus tool) cures the problem.
This software is free to use, of course, although tips help me pay for my development costs. If you like it please tag me in your Facebook panorama post to show me what you're doing. Bug reports and questions are also welcome. You can find me on Twitter (@thatkeith) and Facebook (https://www.facebook.com/thatkeithmartin) or see the Contact page for direct contact details.
See below for a link to older versions.
— Keith Martin
Facebook supports both equirectangular and cylindrical panoramas. Cylinder panoramas that are taller than 86° and are a full 360° around will automatically be tagged as equirectangular to help produce the right visual behaviour in Facebook, but you can override this if you prefer.
Google supports spherical (equirectangular) panoramas. You can upload cylinders to Street View via a desktop web browser and they will be given the necessary padding to the top and bottom, in black. If you want to upload using the Street View app you should add this padding yourself to make the image precisely 2:1 width to height ratio.
You can edit the text in the main text field once you've opened an image. You don't need to touch this at all, but if you wish to experiment with the values and parameters that are added to the image you can do that here. If you do more than just changing the existing numbers make sure each line is exiftool-friendly (see this exiftool documentation for reference), and don't include "exiftool" at the beginning.
(Yes, technically, this does make Exif Fixer the only visual exiftool-based metadata editor on the Mac platform. It is specifically designed for panoramic image tagging, so you'll have to know how to structure other exiftool commands. Please let me know if you would find a more general exif editing tool useful.)
Adds drag-and-drop support
Accommodates Facebook's requirement (at that time) for 360° cylinders to be labelled as equirectangular
Shorter UI to fit into 768px-height laptop screens
Version 2.4 (2.3 was internal only):
Recognise the difference between short (under 86°) panoramas and taller ones and tag them accordingly. (Can be overridden, but this will produce different projection effects in Facebook. Test your experiments.)
Adds the option to reset the PosePitchDegrees value to zero. This helps when that value gets mangled by Photoshop through exporting an edited 360 image without careful view levelling first.
Adds fix for incorrectly set PoseRollDegrees
Adds batch processing (sets additional images to the same metadata as the first)
Larger preview image
Custom horizon setting added (to support the new cylinder metadata standard established by Facebook and Google)
Option to delete original images (off by default)
Multiple one-shot 360 camera types to choose from if 'fake' camera make/model data is needed
Fixed a bug that set an incorrect CroppedAreaTopPixels value with cylindrical partial panoramas.
Added a graphic to show the relative section of a 360 degree circle that a partial panorama covers, visible only while the relevant slider is active.
Version 3.0.2 to 184.108.40.206
Small bug fixs
Restores the 'legacy' cylinder height format as well as allowing the new 'infinite height' method of calculating cylinder height values
Adds 'rollover' help info text for all interface elements in Exif Fixer
Sets the legacy cylinder mode to be the default
Sets the legacy cylinder mode to be NOT the default
Removes the 'custom horizon' option as it is not supported by services at this time
Fixes a minor bug that prevented backups being made of all images when running a batch process
Now updates original files (rather than making backups) by default
The 'fake camera' option now defaults to Ricoh Theta V, by request
The Mac build is now 64-bit so it will work with the next version of macOS without issues.
The 'fake camera' list is greatly expanded, thanks to help from friends on Facebook. The Linux versions now run properly, and the executable bit is set for the embedded exiftool on launch if required. Also of interest to Linux users in particular, if you have an existing installation of exiftool you can tell Exif Fixer to use that instead.