Why is my photo sideways when I upload it?
Your phone's camera saves photos in a fixed orientation no matter how you hold it. A small piece of metadata called the EXIF Orientation tag tells apps how to rotate the image for display. Modern apps respect this tag. Older apps and most web upload pipelines ignore it, which is why your photo looks correct on your phone but sideways once uploaded.
The fix in one click
Drop the photo into the rotate tool. The tool reads the EXIF orientation tag, applies the rotation to the pixel data itself, and resets the tag to 1 (normal). Upload anywhere afterward — the photo will display correctly.
How EXIF orientation actually works
Phone cameras have an accelerometer that detects how you're holding the device. When you take a photo, the sensor captures the image in its native orientation (landscape with the lens up, usually), and the camera writes:
- The raw image data, untouched
- An EXIF tag called
Orientationwith a value from 1 to 8 indicating how to rotate the image for display
The eight possible values:
- Normal — display as stored
- Mirror horizontal
- Rotate 180°
- Mirror vertical
- Mirror horizontal + rotate 270° CW
- Rotate 90° CW
- Mirror horizontal + rotate 90° CW
- Rotate 270° CW
When you hold an iPhone vertically (portrait) and take a photo, the sensor captures landscape and writes Orientation = 6 ("rotate 90° clockwise to display upright"). When your gallery app reads the file, it sees the tag and rotates on the fly. You never see the underlying landscape image.
Why uploads break this
Many server-side image processors and older desktop programs ignore the Orientation tag. They show you the raw stored image — landscape — even though it was taken in portrait. Even some browsers ignore it inside `<input type="file">` previews while showing it correctly in `<img>` tags. The result is the upload form showing a sideways thumbnail of a photo that looks fine in your gallery.
Apps that get it right
- iOS Photos, macOS Preview, macOS Finder thumbnails
- Modern Chrome, Firefox, Safari (image tags)
- Google Photos, Facebook, Instagram (web and app)
- Slack, Discord (uploads)
Apps that get it wrong
- Many WordPress media library plugins
- Most pre-2020 desktop image editors
- PDF generators that read JPGs as raw pixels
- Print drivers, photo kiosks
- Many corporate upload portals
- Server-side avatar processors that don't call
auto-orient
The permanent fix: bake the rotation into the pixels
The reliable solution is to physically rotate the image data so the photo looks upright when read raw, and set the Orientation tag to 1 (normal). After that, even broken software displays it correctly.
The rotate tool here does this in one step. It:
- Reads your photo and its EXIF orientation tag
- Decodes the image to pixel data
- Rotates the pixels by the angle indicated
- Re-encodes as a fresh JPG or PNG with Orientation = 1 (normal)
Nothing uploads. The whole thing runs in your browser.
Batch mode
If you have a whole folder of iPhone photos with this problem, drop them all in. Get a ZIP back with everything fixed.
How to prevent it next time
- iPhone: no setting fixes this server-side, but uploading via Apple's first-party apps (Mail, Messages, AirDrop) usually re-orients before sending
- Android: same — use Google Photos “share” rather than “upload directly” in your browser
- Web developers: enable auto-orient in your image pipeline (`mogrify -auto-orient` or `sharp.rotate()`)