Ever wonder why some photos look correct in some programs, but appear sideways or upside down in others? That’s because there are two different ways a photo can be rotated, and not every program is on the same page.
Traditionally, computers have always rotated images by moving the actual pixels in the image. Digital cameras didn’t bother rotating images automatically. So, even if you used a camera and held it vertically to take a photo in portrait mode, that photo would be saved sideways, in landscape mode. You could then use an image editor program to rotate the image to appear in its correct portrait orientation. The image editor would move the pixels to rotate the image, modifying the actual image data.
This just worked, everywhere. The rotated image would appear the same in every program…as long as you took the time to manually rotate them all.
Manufacturers wanted to solve this annoyance, so they added rotation sensors to modern digital cameras and smartphones. The sensor detects which way you’re holding the camera, in an effort to rotate the photos properly. If you take an image in portrait mode, the camera knows and can act accordingly so you don’t have to rotate it yourself.
Unfortunately, there’s a small caveat. Digital camera hardware just couldn’t handle saving the image directly in rotated form. So rather than performing the computationally intensive task of rotating the entire image, the camera would add a small piece of data to the file, noting which orientation the image should be in. It adds this information to the Exif data that all photos have (which includes the model of camera you took it with, the orientation, and possibly even the GPS location where the photo was taken).
In theory, then, you could open that photo with an application, it would look at the Exif tags, and then present the photo in the correct rotation to you. The image data is saved in its original, unrotated form, but the Exif tag allows applications to correct it.
Unfortunately, not every piece of software obeys this Exif tag. Some programs–especially older image programs–will just load the image and ignore the Exif Orientation tag, displaying the image in its original, unrotated state. Newer programs that obey Exif tags will show the image with its correct rotation, so an image may appear to have different rotations in different applications.
Rotating the image doesn’t exactly help, either. Change it in an old application that doesn’t understand the Orientation tag and the application will move the actual pixels around in the image, giving it a new rotation. It’ll look correct in older applications. Open that image in a new application that obeys the Orientation tag and the application will obey the Orientation tag and flip the already rotated image around, so it’ll look wrong in those new applications.
Even in a new application that understands the Orientation tags, it’s often not quite clear whether rotating an image will move the actual pixels in the image or simply modify the Exif tags. Some applications offer an option that will ignore the Exif Orientation tag, allowing you to rotate them without the tags getting in the way.
This problem can occur in practically any software, from a program on your PC to a website or a mobile app. Photos may appear correctly on your computer but appear in the wrong rotation when you upload them to a website. Photos may appear correctly on your phone but incorrectly when you transfer them to your PC.
For example, on Windows 7, Windows Photo Viewer and Windows Explorer ignore the Exif Orientation tag. Windows 8 added support for the Exif Orientation tag, which continued into Windows 10. Images may appear correct on a Windows 10 or 8 PC, but rotated differently on a Windows 7 PC.
Thankfully, most applications now do obey the Exif Orientation tag. If you’re using Windows 10, File Explorer and the default image viewer will properly obey the Exif Orientation tag, so photos that come from your smartphone or digital camera will be display properly. Google’s Android and Apple’s iOS both natively create photos with the Exif Orientation tag and support it.
If you’re using Windows 7, you can make this problem go away by upgrading to Windows 10. If you’d like to keep using Windows 7, you may want to use another image viewer that obeys the Exif tags instead of the default image viewer.
The average website or desktop application should also obey Exif Orientation, although not all of them do. If a photo appears sideways when uploaded to a website, that website needs to be fixed–but you can probably rotate that image on that website anyway. Desktop tools for working with photos should also support Exif Orientation tags. If an application you use doesn’t, you may want to find a more modern application.
If this is a problem for you–especially on Windows 7–you can also use JPEG Autorotate, which uses the jhead command in the background. This tool adds a quick right-click “Autorotate all JPEGs in folder” option to Windows Explorer. Select it and the tool will examine all photos in a folder, automatically rotating them according to their Exif Orientation tags and then removing those tags. Use this tool when you import images and Windows 7 and other applications won’t have a problem with them.
Modern smartphones and digital cameras have faster hardware, so it should be possible for them to save photos in an already-rotated state instead of just applying the Exif Orientation tag. Unfortunately, the industry seems to have settled in Exif Orientation tags as the standard solution, even if they aren’t ideal.
Thanks to Tom Moriarty for contacting us and giving us the idea for this article.