Why a sideways photo sometimes fixes itself
Almost every “my photo is rotated wrong” problem traces back to one design decision made by camera manufacturers. Rather than physically rewriting the pixel grid when you hold a phone sideways, the camera writes the frame exactly as the sensor read it and attaches a small EXIF orientation tag saying “display this turned 90 degrees clockwise”. The pixels are sideways; the instruction says which way to turn them.
Software that reads the tag shows the photo upright. Software that ignores it shows the photo sideways. That is why the same file can look correct in your phone’s gallery, correct in a browser, and wrong the moment you drop it into an older desktop application or a document template. Nothing is corrupt; two programs are just disagreeing about whether to follow an instruction.
This tool decodes through the browser’s own image decoder, which honours the orientation tag by default, so what it works on is the already-upright version of your photo. The rotation you pick is applied on top of that. If you have ever used a rotation tool that produced an upside-down result, it was almost certainly rotating the raw sensor pixels and then leaving the orientation tag in place, so the viewer applied the turn a second time.
One consequence worth planning for: because the output is written fresh from a canvas, the finished file has no EXIF block at all. The orientation tag is gone (it is no longer needed, since the pixels are now genuinely upright), and so is everything else that was in there, including capture date and GPS coordinates. If a photo is heading for the public web that is a bonus. If you sort an archive by capture date, keep the originals.
Picking between 90, 180 and 270
All three labels here are clockwise, which removes the usual guessing game. A quarter turn clockwise is 90. A quarter turn counter-clockwise is 270, the same destination reached the other way around. A half turn is 180.
The dimension change is the useful thing to keep in mind. Both quarter turns swap width and height, so a 4000x3000 landscape shot becomes 3000x4000 portrait. That is exactly what you want when a photo was captured with the phone held the other way and now has to fit a portrait slot in a layout. A 180 degree turn leaves the dimensions untouched and simply inverts the frame, which is the fix for a scan fed into the machine backwards or a photo taken with the camera upside down.
If you find yourself trying to mirror an image rather than turn it, that is a different operation. Rotation preserves handedness, so text stays readable; mirroring reverses it. Flip Image handles horizontal and vertical mirroring.
Pixels move, but a JPG still gets re-encoded
A quarter or half turn is one of the very few image operations that is geometrically lossless. Every source pixel lands on exactly one destination pixel, no fractional coordinates are involved, and no interpolation happens. Rotate a photo four times by 90 degrees and the pixel values come back identical.
The encoding is a separate matter and it is worth being straight about. The output format always matches the input, so a JPG stays a JPG. Producing that JPG means the browser compresses the rotated canvas again at its own default quality setting, which is one extra lossy generation. For a single rotation on a normal photograph this is invisible. If you plan to rotate, then crop, then rotate again, do the whole sequence and save once rather than saving between each step. PNG has no such concern, since PNG compression is lossless by definition, and anything with an unrecognised extension is written out as PNG for the same reason.
Because everything runs on your own device rather than through an upload queue, a rotation is near-instant on a typical photo, though a very large image on a slow phone is bound by how fast that device can decode and re-encode it. There is no per-day limit and no watermark, and the only real ceiling is your device’s memory when you throw a very large batch at it at once.
Running a folder through it
Drop in as many JPG, PNG or WebP files as you like, pick one angle, and every file in the batch gets the same turn. Four steps, start to finish:
- Drop your JPG, PNG or WebP files into the box above, or click Choose files.
- Set Rotate to 90° clockwise, 180° or 270° clockwise. The choice applies to every file you dropped in.
- Click Rotate Image, which is what the action button reads on this page.
- Wait for the batch to finish, then click the Download button that appears for each rotated file. Cancel during a run clears the whole batch and empties the box, so let it run to the end before you start saving.
The progress bar advances per completed file rather than smoothly, so on a
large batch expect it to move in visible steps. Each output is named after its source with
-rotate-90, -rotate-180 or -rotate-270 appended, so a batch of rotated copies can sit next
to the originals without any confusion about which is which.
The angle applies to the whole batch, which means a mixed folder needs one pass per group. In practice this is rarely a problem, since the usual scenario is a stack of scans or holiday photos that all came out turned the same way for the same reason.
For very large photos it is often worth rotating first and then running the result through Compress Image or Resize Image, in that order, so the compression step sees the final dimensions. If the photo needs reframing as well as turning, Crop Image is the companion tool.

