Free Rotate & Flip Image

Turn a picture by 90 degrees at a time, or mirror it — instantly, in your browser.

Rotate a photo that came out sideways, or mirror one that was taken with a front camera. The image is redrawn through the Canvas API at full resolution and downloaded straight back to you — nothing is uploaded, and there is no limit on file size beyond your device’s memory.

🖼️

Click to select or drag & drop an image here

JPG, PNG, WebP, GIF and BMP · no size limit

How it works

1

Select an image

Any common format — JPG, PNG, WebP, GIF or BMP.

2

Rotate or flip

Steps combine, so two right turns give 180 degrees.

3

Download the result

Redrawn at full resolution, never uploaded.

Rotation here redraws pixels — and why that matters

There are two ways to rotate an image. A JPEG can sometimes be rotated losslessly by rewriting its EXIF orientation flag, leaving the compressed data untouched. That is fast and perfect, but it only works for multiples of 90 degrees on JPEGs, and plenty of software ignores the flag — which is exactly why photos still turn up sideways on other people’s screens.

This tool takes the other approach: the image is decoded, redrawn onto a rotated canvas and re-encoded. The result is correct everywhere, because the pixels themselves have moved rather than a flag telling the viewer to move them. For PNG, WebP and BMP this is lossless. For JPEG the file is re-encoded at high quality, so there is one generation of compression — negligible once, worth avoiding if you rotate the same photo repeatedly.

Because the canvas swaps width and height on a 90-degree turn, a 4000×3000 photo becomes 3000×4000. The pixel count is unchanged, so the file size stays roughly the same.

Flipping is not the same as rotating

A 180-degree rotation and a double flip look similar on symmetric shapes but are different operations. Rotating turns the image around its centre; flipping mirrors it across an axis, producing a reflection. On anything containing text, the difference is obvious — flipped text reads backwards while rotated text is merely upside down.

Horizontal flip is the common one, because front-facing cameras usually mirror the preview so it feels like a mirror, then save the unmirrored version. The photo ends up looking "wrong" compared with what you saw. Flipping horizontally restores the familiar view — though it also reverses any writing in the shot.

Every operation applies to the current state, so they stack: two right turns give 180 degrees, and a horizontal flip followed by a vertical flip equals a 180-degree rotation. Reset returns to the original at any point.

Frequently Asked Questions

For PNG, WebP and BMP, no — those formats are lossless. A JPEG is re-encoded at high quality, which costs one generation of compression. Rotating the same JPEG many times in a row would slowly soften it; doing it once is not noticeable.
Not here. Arbitrary angles require deciding what fills the corners that open up and resampling every pixel, which softens the image. The 90-degree steps this tool offers are exact pixel movements with no interpolation.
Cameras record in the sensor's native orientation and store a rotation flag in EXIF instead of rotating the pixels. Software that ignores that flag shows the raw orientation. Rotating here moves the actual pixels, so the result is correct everywhere.
No. Decoding, rotation and re-encoding all happen through the Canvas API in your browser. The file is read into memory and handed straight back.
Anything your browser can decode: JPG, PNG, WebP, GIF and BMP. Animated GIFs are converted to a single still frame, since a canvas holds one image.