Your photo isn't sideways. Its orientation tag is.
Rotate a JPEG by rewriting the EXIF orientation tag instead of re-encoding the picture — the image data comes out byte-for-byte identical, so nothing is lost however many times you turn it. Nothing is uploaded.
Nothing is uploaded · runs 100% on your device
Awaiting frame · 0 files loaded
Drop a photo to rotate it
Rotation: JPG · viewing all formats
Ad slot · 728×90 / responsive
How to
How to rotate a photo without re-compressing it
Drop the JPEG in using the tool above.
Use Rotate left, Rotate right or Flip in the edit panel. The preview turns as you click, so you can see the result before committing to it.
Click Save edits. A rotated copy downloads. Only the orientation tag changed — the compressed image data is untouched.
Rotating four times returns you exactly where you started, with a file identical to the one you dropped in. That's the point: there's no generation loss to accumulate, because nothing is being re-encoded.
The actual problem
There are two different things called "rotating an image"
Almost every photo that "comes out sideways" is not stored sideways by accident. Your phone was held at an angle, the sensor read the scene in its own fixed orientation, and rather than spending time re-encoding the picture the camera wrote a note: display this turned 90° to the right. That note is the EXIF orientation tag.
Rotating the tag changes the note. Instant, lossless, and it fixes the display in everything that reads the note.
Rotating the pixels physically rearranges the image. Slower, requires re-encoding a JPEG, and loses a little quality — but it works even in software that ignores the note entirely.
Ordinary "rotate image online" tools do the second, always, whether or not you needed it. This one does the first, which is the right answer for the common case and honest about when it isn't.
Diagnosis
Why one photo looks right in one app and wrong in another
If a photo displays correctly on your phone but sideways once you email it, upload it, or open it on a different computer, you're watching two pieces of software disagree about whether to read the orientation tag.
Modern browsers, phone galleries and operating-system previewers honour it. The things that commonly don't: older desktop programs, some content management systems, image-processing scripts, and upload pipelines that re-encode without carrying the tag across. None of them are wrong exactly — the tag is advisory, and the raw pixels really are sideways.
Quick diagnosis: drop the photo into the tool above and look at the Orientation field. If it says anything other than "Horizontal (normal)", the file depends on the tag and any software ignoring that tag will show it turned. If it says normal and the photo still looks wrong, the pixels genuinely are rotated and you need a pixel rotation, not this.
Limits
When rotating the tag won't help
Being straight about this, because a lossless fix that doesn't fix your problem is worse than no fix:
The destination ignores the tag. If you're uploading somewhere that strips or disregards EXIF, the tag can say anything and the picture still lands sideways. You need the pixels rotated — any image editor's rotate-and-save will do it, at the cost of a re-encode.
The file isn't a JPEG. Rotation here is JPEG-only, because the library that writes EXIF handles JPEG only. PNG and WebP rarely carry an orientation tag in the first place, so rotating those genuinely means rotating pixels.
The pixels are actually rotated. If the orientation reads normal and the photo still looks wrong, the tag was already applied and baked in at some point. Rewriting it will only make things worse.
Worth knowing
Stripping metadata can turn a photo sideways
This catches people out, including on this site, so it's worth stating plainly: the orientation tag is metadata. Remove all of a photo's metadata and the tag goes with the GPS coordinates and the camera model.
For a photo that was relying on that tag to display upright, the cleaned copy will show the raw sideways pixels. The picture is unharmed — the instruction to turn it is simply gone.
If you want the location gone but the photo still the right way up, use Remove GPS only rather than Download clean copy. It deletes the coordinates and leaves the orientation tag intact. If you do want everything stripped, expect to rotate afterwards in whatever you open it with — or rotate the pixels first in an editor, so the file no longer depends on a tag.