Rotate an Image — Free & Private
Turn a sideways photo upright or mirror it. Rotate any JPG, PNG, WebP, or GIF by 90°, 180°, or 270°, and flip it horizontally or vertically — all in your browser, nothing uploaded.
In short: drop an image below, pick 90°, 180° or 270°, flip it horizontally or vertically if you need to, and download. The rotation happens on your device, the preview updates as you go, and the output can stay in the format it arrived in rather than being forced into PNG.
- Is it free, and is there a watermark?
- Yes, free, and no. No signup, no account, no daily limit and nothing added to the picture.
- Is my photo uploaded anywhere?
- No. The rotation is done by your browser’s own canvas, so the file never leaves your device — and there is no size limit imposed by a server.
- Will rotating lose quality?
- A little, on a JPEG, because the picture has to be re-encoded. Choose PNG or WebP and that step is lossless. Truly lossless JPEG rotation exists but no browser can do it — see below.
- Can I rotate by an arbitrary angle, like 7°?
- No — 90°, 180° and 270° only. A free angle needs a canvas larger than the picture and a decision about what fills the corners, which is a different tool.
- Why is my photo sideways in the first place?
- Almost always an EXIF orientation tag: the camera stored the picture one way up and a note saying which way to display it, and some software ignores the note.
- Can I rotate several images at once?
- No, one at a time. Batch rotation only makes sense when every photo needs the same turn, which is rarer than it sounds.
How to Rotate an Image
Drop the photo onto the tool, or click to browse and select it.
Choose 90°, 180°, or 270°, and optionally mirror or flip it.
See the result live before you save it.
Download the rotated image as a PNG — full quality, no watermark.
Why Use Convertlo?
- 🔒 100% Private — the image never leaves your browser
- 🆓 Free forever — no account, no watermark, no limits
- 🔄 Rotate & flip — 90/180/270° plus horizontal and vertical mirror
- 🖼️ Any format — JPG, PNG, WebP, and GIF frames
- ✨ Full quality — re-rendered at the original resolution
- 📱 Works on mobile — any modern browser, any device
Features
100% Private
No server, no upload — your image stays on your device.
Rotate + Flip
Turn and mirror in one step.
Live Preview
See the change before downloading.
Full Quality
Output at the original resolution.
Any Format
JPG, PNG, WebP, GIF supported.
Mobile-Ready
Works on iPhone, Android, tablet, and desktop.
Rotating a JPEG is not lossless in a browser
There is a real distinction here that no other free rotator seems to mention, and it decides how much quality you lose.
A JPEG is stored as a grid of 8×8 blocks, each compressed on its own. Turning the whole picture by a multiple of 90° can in principle be done by rearranging those blocks without decoding them — nothing is re-compressed, so nothing is lost at all. That is what jpegtran does on a desktop, and what the Photos app on your phone does when you tap rotate.
A browser cannot do it. Once an image is drawn onto a canvas it has been decoded to pixels, and writing it back out means compressing it again. So a JPEG rotated here goes through one extra encode at high quality. On a photograph that is invisible — it is a far smaller change than the camera made when it saved the file — but it is not nothing, and a page that says "no quality loss" about a JPEG is not telling you the truth.
Two ways to avoid it entirely, if the picture matters that much:
- Set the output to PNG or WebP. Both are lossless formats, so the pixels that come out are exactly the pixels that went in. The file will be larger — often several times larger for a photograph — because you are storing the JPEG’s own artefacts perfectly.
- Use the rotate button in your phone’s photo app or a desktop tool for a JPEG you want bit-for-bit intact. That is the one case where a browser is the wrong place.
Why photos come out sideways, and what rotating fixes
If a photograph looks sideways on one device and upright on another, the pixels are almost never the problem. Cameras and phones usually store the picture in the sensor’s own orientation and add an EXIF Orientation tag — a note saying "display this turned 90° clockwise". Software that reads the note shows it correctly; software that ignores it shows it on its side. The file is identical either way.
Rotating here fixes that permanently, because the canvas writes out the pixels as they are displayed and the tag is not carried over. The picture becomes upright in the bytes themselves, so every piece of software agrees about it. That is usually exactly what you want before uploading to a site or a printer that gets it wrong.
The same step also removes everything else in the metadata: camera model, timestamp, lens, and the GPS coordinates a phone attaches by default. Good before posting publicly, costly if you catalogue photographs by capture date. To strip metadata without re-encoding the picture at all, use Metadata Remover.
Why only quarter turns?
This tool offers 90°, 180° and 270°, and that is a deliberate line rather than a missing feature. Those three turns map every pixel onto another pixel exactly: the picture is the same picture, in a different arrangement, and the result is as sharp as the original.
A free angle is a different job. Turning by 7° means every output pixel is a blend of several input pixels, so the picture softens slightly — and the rotated rectangle no longer fits its own frame, so something has to fill the corners or the edges have to be cropped away. Those are choices a straightening tool makes with a preview and a zoom, and doing them badly is worse than not offering them.
If you need to straighten a crooked horizon, rotate to the nearest quarter turn here and then use a photo editor for the fine angle, or crop tightly with Crop Image so the tilt is less obvious.
Capabilities at a glance
What this tool does and does not do, stated plainly. The “No” rows are the point, not an omission.
| Capability | Supported | Detail |
|---|---|---|
| Input | ||
| JPG, PNG, WebP, GIF, BMP, AVIF | Yes | Anything the browser can decode. |
| HEIC from an iPhone | No | No browser decodes HEIC. Convert it with HEIC to JPG first. |
| File size limit | No | There is no server to protect, so nothing is capped by us. |
| Several images at once | No | One at a time. |
| Rotation | ||
| 90°, 180° and 270° | Yes | The three turns that need no decision about the corners. |
| Flip horizontally or vertically | Yes | On its own or combined with a turn. |
| Live preview | Yes | The picture and the download both update as you change the setting. |
| Free angles (7°, 15°…) | No | A free angle needs a bigger canvas and something to fill the corners. |
| Straighten a horizon automatically | No | That is a judgement about the picture, not a transform. |
| Crop after rotating | No | Use Crop Image afterwards. |
| Output | ||
| Keep the original format | Yes | The default: a JPEG stays a JPEG, a WebP stays a WebP. |
| Choose JPG, PNG or WebP | Yes | Whatever went in. |
| Lossless rotation | No | Not in a browser — see the section below. PNG and WebP output is lossless re-encoding, which is not the same thing. |
| Transparency preserved | Yes | When the output is PNG or WebP. A JPEG cannot store it. |
| EXIF metadata kept | No | The canvas drops all of it, including the GPS tag. |
| Watermark | No | Nothing is added to the picture. |
| How it runs | ||
| Nothing is uploaded | Yes | The rotation happens on your device and is never sent anywhere. |
| Signup or daily limit | No | There is no account and no quota. |
| Offline use | No | The page loads from the network first. |