Rotate image files by a quarter turn or a flip
Use rotate image when a photo is sideways, upside down, or mirrored and you want the pixels themselves turned. You can turn 90, 180, or 270 degrees, flip horizontal, flip vertical, or combine a turn and a flip. The decoder applies EXIF orientation first, so you are looking at the picture the camera already intended. The file is then resaved, and the orientation tag is dropped because the pixels now carry that direction. The work stays in this tab.
Loading tool…
or drop / paste
How to rotate image files
- Add a JPG, PNG, or WebP. You can add up to one hundred. Drop, paste, or Choose files. Every file in the list gets the same turn and the same flips.
- Choose 90, 180, or 270 degrees. Use no turn if you only want a flip. 90 and 270 swap width and height. 180 keeps them.
- Turn on flip horizontal, flip vertical, or both, if the picture is mirrored as well as rotated. The flips apply with the turn you picked.
- Leave the format alone. A PNG stays a PNG, a WebP stays a WebP, and a JPEG stays a JPEG. There is no quality slider on this page. The pixels are resaved so the tag can be dropped.
- Press Rotate images and download the file, or a ZIP when more than one result is ready. Check a face or a line of text before you delete the original.
Rotate image options explained
The turn is 90, 180, or 270 degrees, or no turn if you only flip. Width and height swap on 90 and 270. They stay on 180 and on a flip-only run.
Flip horizontal mirrors left and right. Flip vertical mirrors top and bottom. You can use either with a turn. Both flips together are available if that is the mirror you need.
EXIF orientation is applied by the decoder before the turn you asked for. A JPEG that already displayed upright is not given a second automatic spin. You add 90, 180, or 270 on top of that upright decode.
The orientation tag is dropped because the pixels are resaved. The download does not rely on a viewer honouring a side-ways tag. PNG and WebP stay in their formats. A batch shares one turn.
The decoder turns it first
Many phone JPEGs store the pixels on their side and a tag that says how to display them. This page decodes with that tag applied, so the preview of the pixels matches what you already saw. Your 90 degree choice is an extra quarter turn from that upright picture, not a fight with the tag.
If a file had no orientation tag, the pixels are used as stored. A scan that was saved sideways, with no tag, needs you to pick 90 or 270 yourself. The tool will not guess which way a landscape should face.
Why the tag is dropped
After the turn and the flips, the pixels are written out again. The orientation tag is dropped because a viewer that applied it again would rotate the picture twice. The download should look the same in a strict viewer and in a loose one.
That resave means a JPEG is a new JPEG, not a remux that keeps the original scan untouched. If you only wanted the tag and the GPS gone, and the pixels identical, remove exif data is the page that remuxes. Use rotate image when the picture must actually change direction.
Flips, batches, and what stays put
Flip horizontal is the mirror for a scan that was shot through a glass or a document that reads backwards. Flip vertical is the other axis. Neither crops the frame. A 90 degree turn changes which edge is long. It does not scale the file to a new longest side. Use resize image if the size is also wrong.
Up to one hundred files take the same turn. That is useful for a set of scans that were all inserted the same wrong way. It is a bad idea for a mixed set where some files are already upright. Split those out. A ZIP is offered when more than one rotated file is ready.
Limits, formats and output
| Accepted input | JPEG, PNG, WEBP, GIF, BMP, HEIC, AVIF |
|---|---|
| Files per batch | 1–100 |
| Soft size warning | 50 MB each |
| Hard stop | 500 MB total in memory |
| Output | The chosen image format, or a ZIP for a batch |
| Account | None. The tool runs in this tab. |
Your file never leaves your device
This image is rotated by a script running in this browser tab. The work runs in a Web Worker in this tab, using WebAssembly for the heavy parts, and the result comes back as a local blob. This site does not upload the file, store it, or log its name.
To verify: load the page, turn on airplane mode, and drop the file again. It still finishes. Or open DevTools, choose Network, and watch the run: there is no upload. The architecture is described on How it works.
Frequently asked questions
Does rotate image read the EXIF orientation?
Yes. The decoder applies EXIF orientation first, so you start from the picture as it was meant to be shown. The turn you pick is added after that. The tag is then dropped because the pixels are resaved.
Will a viewer rotate the download again?
It should not need to. The orientation tag is dropped on purpose. The pixels already include the decoder’s orientation plus your turn and flips. A second automatic spin would be a bug in the viewer, not a tag this file still carries.
Can I flip without turning?
Yes. Leave the turn on no turn and switch on flip horizontal, flip vertical, or both. Width and height stay. Use 90 or 270 when the long edge has to change axis. 180 turns the picture upside down without swapping the edges.
Do the pixels stay identical?
No. They are resaved in the new direction. A JPEG is encoded again, which is different from the remux on remove exif data. Use that other page when the only goal is to drop camera, date, and GPS without turning anything.
Can I rotate a batch?
Yes, up to one hundred files, all with the same turn and flips. Download a ZIP when more than one file is ready. Pull out any photo that is already facing the right way before you run the rest.
Does PNG transparency survive?
The PNG is resaved as PNG, so transparent pixels stay part of the bitmap while it turns. They move with the picture. The page does not paint them onto white. A JPEG never had those clear pixels to begin with.
Last updated 2026-09-26. By Tam.