Rotate and Flip Image

Rotating and mirroring are not the same operation, and confusing them is why a photo comes back with the lettering reversed. A turn preserves the image; a mirror produces something that never existed in front of the lens.

10 to 100. Ignored for PNG, which is lossless.
Rotate and Flip an Image — 90, 180, 270 Degrees and Mirroring, No UploadBuildFigure

The file does not leave your machine

Decode, transform, re-encode: all three happen in the tab. There is no upload, no queue and no temporary copy on anyone's disk but yours. Watch the network panel while you use it and nothing appears; pull the connection and it still works. That is the practical test, and it is a better basis for trusting a tool than any sentence on a page about privacy.

Rotation against mirroring

A rotation turns the whole image about its centre. A mirror reflects it across an axis, producing an image that cannot be obtained by any amount of turning — text reads backwards, a watch sits on the wrong wrist, a parting falls on the wrong side. Both are lossless in the sense that matters here: 90 degree turns and axis mirrors move pixels to new integer positions without interpolating, so no sharpness is lost. Arbitrary angles are a different animal and this tool does not offer them.

One identity worth remembering: mirroring both ways is the same as a 180 degree turn. That is why the two mirror boxes together with no rotation produce something you could have got from rotation alone. Where order genuinely matters is one mirror combined with a quarter turn, and this applies the mirror first. If the result is the reflection of what you wanted, switch to the other mirror axis — the two combinations give each other's result.

Why phone photos arrive sideways

A phone held vertically still records the sensor's native landscape frame. Rather than rotate the pixels, it writes an EXIF Orientation tag saying "display this turned 90 degrees". Software that reads the tag shows the photo upright. Software that ignores it — older forums, some email clients, a fair number of internal systems, plenty of scripts — shows it on its side. The photo is not wrong; the two programs simply disagree about whether to obey a flag.

Passing the file through here settles the argument. The browser applies the orientation tag while decoding, the transform is drawn into a canvas, and the canvas is encoded from the pixels alone. What comes out is upright in the pixel data with no orientation flag left to ignore. The tool needs at least one operation selected before it will act, so for a pure re-save with no geometric change, switch both mirrors on and set the rotation to 180: mirroring both axes is itself a 180 degree turn, and a second 180 puts everything back where it started.

What you give up

The same canvas round trip that fixes orientation removes everything that is not pixels. EXIF goes: capture time, camera body, lens, exposure settings, and GPS coordinates if location tagging was on. Embedded ICC colour profiles go too, which on a wide-gamut original can shift the colours perceptibly once the file is interpreted as sRGB. An animated GIF loses every frame but the first. For a photo headed to a public forum, most of that is an improvement. For the copy you are keeping, it is data loss you cannot undo, so process a duplicate and leave the original alone.

Questions people ask

Can I rotate by 5 degrees to straighten a horizon?

Not here — the choices are quarter turns. An arbitrary angle needs interpolation, which softens every pixel, and it leaves empty triangles at the corners that have to be either filled or cropped away. Both of those are decisions a tool with a live preview and a straightening guide should be making, which means an editor. Every desktop photo application has one, and so does the Photos app on a phone.

Does turning a JPEG damage it?

Slightly, because it is decoded and re-encoded. Dedicated JPEG utilities can rotate losslessly by manipulating the compressed blocks directly, but only when both dimensions are multiples of the block size, and browsers do not expose that path. At quality 90 or above one pass here is very hard to see. If you need a guaranteed-identical round trip, set the output format to PNG.

My image was already upright and it came out sideways.

That points at a browser that did not apply the EXIF orientation tag before handing the decoded image over — behaviour that was inconsistent for years and is now standard, but not universal on older engines. The workaround is to compensate: apply the opposite rotation here, and the result will be correct everywhere since the output carries no orientation flag at all.

Why did the file size change when I only turned it?

Compression is content-dependent. JPEG encodes in 8x8 blocks scanned in a fixed order, so rotating the picture changes which pixels share a block and how much each block costs to describe. Add the second compression pass and a few percent either way is normal. A large increase usually means the output format changed — check whether a photograph ended up as PNG.

Related