Standard application to automatically rotate pictures based on EXIF
Solution 1
jhead + jpegtrans
Use jhead (which requires jpegtran for the auto-rotation feature).
From the windows shell,
jhead.exe -autorot image.JPG
For a batch of pictures in a directory, use shell globbing, e.g.
jhead.exe -autorot pics\*.JPG`
jhead
will not modify files that do not need rotation.
Additionally
Make sure jheadtran.exe
is in the environment PATH
, e.g. PATH=%PATH%;C:\Path\to\jpegtran
.
I suggest the -ft
flag to "Set file modification time to Exif time".
Solution 2
Windows 7 has PowerShell installed by default, which can be used to script image editing thru either WIA (Windows Image Aquisition) or the .Net system drawing object. Here's a quick powershell script using the .Net method to rotate all the jpg's found in the current directory by 90 degrees clockwise.
[System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
dir *.jpg |
ForEach-Object {
$image = [System.Drawing.image]::FromFile( $_ )
$image.rotateflip("Rotate90FlipNone")
$image.save($_)
}
Rotation is limited by 90 degree increments, including image flipping orientation.
Solution 3
Go to directory where is all your photos. Change to Details View. Right click on one column and Click More. Tick appropriate EXIF detail and OK. Now filter all files based on this EXIF detail and finally select all photos, right mouse to rotate either clockwise or counterclockwise.
Solution 4
I am pretty certain there is no way to rotate images based on EXIF info using only standard apps that come with Windows. However I thought that for the benefit of others who might have less stringent requirements, I mention 2 other ways.
I would recommend XNView: http://www.xnview.com/en/xnview/ (not XNViewMP) for JPEG lossless rotation (if you are ok with possibly losing a few pixels off the edges, as it is inherent limit of lossless jpeg operations):
If you are not ok with losing any pixels on the edges, and/or want to save results in a different format, or want to perform additional manipulations in an intuitive way (XNView's batch processing is somewhat hard to use IMHO), I recommend Batch Image Resizer, which is a paid app: http://www.binarymark.com/products/batchimageresizer/default.aspx
EDIT: The new version of Batch Image Resizer support automatic image rotation based on face recognition. It can detect human faces in your photos and automatically rotate images accordingly. It can be useful when EXIF orientation tags are missing for example and you have 100s of images you need to rotate:
Disclaimer: I use both programs daily: XNView for viewing/organizing images, Batch Image Resizer for bulk image processing.
Related videos on Youtube
Tschareck
Updated on September 18, 2022Comments
-
Tschareck almost 2 years
There are few applications, that I have installed on almost every Windows 7 computer. This are applications such as:
- Windows Live Gallery (Windows Live Essentials)
- Picasa
- anything, that comes out of the box with Windows 7
Which of those applications is able to rotate, in batch, all of the pictures in one folder based on EXIF information?
I know there are lots of applications, that can do exactly this, but does any of standard applications do that? Sometimes I cannot install anything new, and I'm using several different computers in different places.
Let me repeat - I want to turn pictures based on EXIF info, not ALL of them.
-
iglvzx about 12 yearsThis works great, but it is missing one important detail from the question: rotating the picture to the correct orientation based on EXIF metadata.
-
jdh about 12 yearsIf the rotation operation is based on the requirement that the camera has the Orientation sensor available, and that all images have the EXIF orientation field set, then you can use the WIA library to check that attribute. Here's how to check if it exists and its value: if ($imageWIA.Properties.Exists("274")) { $imageWIA.Properties.Item("274").Value } Where the values are: $orientation = @{ 1 = "Horizontal"; 3 = "Rotate 180 degrees"; 6 = "Rotate 90 degrees clockwise" ; 8 = "Rotate 270 degrees clockwise" } Also need to load WIA reference and image into WIA.
-
traveh over 7 yearsRead the question properly before answring
-
leeand00 over 7 years@traveh Can you look in the history to make sure the op didn't change the question since I answered this?
-
traveh over 7 yearsYeah, I actually did. He didn't. He did emphasize and repeat it it for people who don't bother to read the question properly, but he didn't change anything.
-
juju almost 6 yearsAs of 2018, this should be the selected answer.
-
hsinghal over 5 years@mins totally agree This should be selected answer
-
ceving about 5 yearsWindows 7 does not rotate correctly, because the EXIF flag for the orientation gets not removed. This may result in a 180° rotation.
-
ceving about 5 yearsXNView is not free for commercial usage.
-
Alexander Taubenkorb about 4 yearsThey are also on chocolatey, so you could install head and jpegtran with
choco install -y jpegtran jhead
and then just go to your directory and executejhead.exe -autorot *.jpg
-
savolai ᯓ over 2 yearsjpegrotate.com / JPEG Autorotate can provide a cleaner interface and rotate based on EXIF data automatically. Disclaimer: I'm the author.