Rotate an Image by Any Angle — Free & Private
Turn a sideways photo upright or mirror it. Rotate any JPG, PNG, WebP, HEIC or TIFF by 90°, 180°, 270° or any exact angle, and flip it horizontally or vertically — all in your browser, nothing uploaded. Rotate an entire folder of images at once — entirely on your device.
In short: drop one image or many below, pick 90°, 180° or 270° or set any angle — the ±10° slider is for straightening — 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°?
- Yes. Type any angle to 0.1° or drag the slider. Then choose Auto crop, which trims the empty corners, Crop manually, which lets you draw the box, or Keep full image, which keeps the whole picture and fills the corners.
- 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. When a photo carries one, the tool says so and offers Auto-correct.
- Can I rotate an iPhone HEIC photo directly?
- Yes. HEIC and HEIF open as they are, with no conversion step first. TIFF does too.
- Can I rotate several images at once?
- Yes. Drop them all in, give each its own turn with the ⟲ ⟳ buttons on its tile or one setting for all, and download them together as a ZIP.
How to Rotate an Image
Drop the photo onto the tool, or click to browse and select it.
Choose 90°, 180° or 270°, or type any angle, and optionally mirror or flip it.
See the result live before you save it.
Download it in the original format or PNG, JPG or WebP — no watermark.
Why Use Convertlo?
- 🔒 100% Private — the image never leaves your browser
- 🆓 Free forever — no account, no watermark, no daily limit
- 🔄 Rotate & flip — 90/180/270°, any angle to 0.1°, plus horizontal and vertical mirror; many images at once as a ZIP
- 🖼️ Any format — JPG, PNG, WebP, iPhone HEIC, TIFF, AVIF, GIF and BMP
- ✨ Full quality — rendered from the original; quarter turns are pixel-exact
- 📱 Works on mobile — any modern browser, any device
Features
100% Private
No server, no upload — your image stays on your device.
Rotate + Flip
Quarter turns, any angle, and mirror in one step.
Live Preview
See the change before downloading.
Full Quality
Rendered from the original, never from the preview.
Any Format
JPG, PNG, WebP, HEIC, TIFF, 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.
Rotate by any angle, and straighten a tilted photo
Type any angle from −180° to +180° in the Custom angle box — 5°, 10°, 3.5°, −12° — or drag the fine slider, which moves ±10° either side of the current quarter turn, so a photo that needs 90° and then a slight tilt is two quick moves. Positive angles turn clockwise. The preview and the output size update as you go, and the file you download is rendered from the full-size original, never from the preview. It works the same for JPG, PNG and WebP.
A quarter turn and a custom angle are different operations. 90°, 180° and 270° map every pixel onto another pixel exactly, so the result is the same picture rearranged and as sharp as the original. Any other angle means each output pixel is a blend of several input pixels, so the picture softens very slightly. It also no longer fits its own frame, and you have to decide what happens to the corners:
- Auto crop (the default) keeps the largest rectangle of the picture’s own shape that has no empty corner in it. This is what you want for a crooked horizon.
- Crop manually puts a box over the whole turned picture. It starts at the auto-crop rectangle; drag it, drag a corner to resize it, or move it with the arrow keys (Shift for bigger steps). Any empty corner you include takes the background you choose.
- Keep full image keeps every pixel and makes the image bigger to hold the turned picture. The corners are transparent, white, black or a colour you choose. A JPEG cannot store transparency, so transparent corners come out white unless you save as PNG or WebP.
Auto crop always costs more of the picture than people expect, and the cost depends on the shape. These are the shares of the picture it keeps, from the same formula the tool uses:
| Tilt corrected | 4:3 photo | 16:9 photo | Square |
|---|---|---|---|
| 1° | 95.5% | 94.1% | 96.6% |
| 2° | 91.4% | 88.8% | 93.5% |
| 3° | 87.6% | 83.9% | 90.5% |
| 5° | 80.8% | 75.5% | 85.2% |
| 10° | 67.6% | 59.8% | 74.5% |
| 45° | 36.7% | 25.9% | 50.0% |
So a 2° correction on a 16:9 photo loses over a tenth of it, mostly from the edges. The wider the picture, the more it loses. If something important sits near an edge, choose Crop manually and keep it inside the box, or Keep full image to lose nothing at all.
Straightening a tilted photo
Drag the fine slider until the horizon, a wall or a door frame runs along one of the grid lines over the preview, and keep Auto crop selected. A horizon that drops to the right needs a negative angle. Most handheld tilts are under 3°, so a slight rotation is usually all it takes.
Rotating many images at once
Drop a whole set of photos in. Each gets a tile with ⟲ and ⟳ buttons, so a folder where some pictures are on their side and others upside down is fixed tile by tile, without opening each one. Click a tile to set a custom angle, a flip or the corners for that image alone, or use Apply these settings to all when every picture needs the same correction. The button then rotates them all and hands you one ZIP. Each image is rendered from its original, one at a time, so a big batch does not need a big computer.
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 and HEIF from an iPhone | Yes | Safari reads them itself; other browsers download a HEIC decoder (libheif, about 1.3 MB) the first time one is added. Nothing is uploaded either way. |
| Animated GIF stays animated | No | Only the first frame is rotated: a canvas draws one frame of a GIF. |
| TIFF | Yes | Decoded on your device. JPEG-compressed TIFF is refused, because it cannot be decoded correctly here. |
| Paste with Ctrl+V or ⌘V | Yes | Copy an image anywhere and paste it on the page. It joins the list like a dropped file. |
| File size limit | Yes | 300 MB per file and 2 GB per session, set by what a browser tab can hold rather than by a server. A photo is a few megabytes. |
| Several images at once | Yes | Up to 500, each with its own angle, flip and corners — or one setting applied to all. |
| A whole folder, subfolders included | Yes | On a computer: Choose a folder, or drop one. Hidden files and anything that is not really an image are skipped and listed. The ZIP keeps the same folders. |
| Download as a ZIP | Yes | One ZIP with every rotated image, named after the original with -rotated added. |
| Rotation | ||
| 90°, 180° and 270° | Yes | Pixel-exact: every pixel lands on a pixel, so nothing softens. |
| Any angle, −180° to +180° | Yes | Typed to 0.1° — 3.5°, −12°, 45° — or set with the ±1° buttons. |
| Fine straightening slider | Yes | ±10° around the current quarter turn, with a grid over the preview for lining up a horizon. |
| Flip horizontally or vertically | Yes | On its own or combined with a turn. |
| Fix EXIF orientation automatically | Yes | Offered only when a JPEG or TIFF really carries an orientation tag. One click gives an upright file. |
| Before / After slider | Yes | Wipe between the picture as it came and as it will be saved. It follows every control while it is open; for a photo with an EXIF tag, Before is the picture as stored. |
| Live preview | Yes | The picture and the download both update as you change the setting. |
| Crop the empty corners away | Yes | Auto crop keeps the largest rectangle of the picture’s own shape. The note under the controls says how much of the picture that keeps. |
| Fill the corners instead | Yes | Keep full image keeps every pixel; the corners can be transparent, white, black or any colour. |
| Straighten a horizon automatically | No | That is a judgement about the picture, not a transform. You set the angle. |
| Crop manually after a custom angle | Yes | Drag a box over the turned picture, resize it by a corner, or move it with the arrow keys. Empty corners inside it take the chosen background. |
| Crop after a 90°, 180° or 270° turn | No | Crop manually appears with a custom angle. For a quarter turn, use Crop Image. |
| 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. |
| Make the file smaller | Yes | Compress, beside Download, opens the rotated image in the image compressor. |
| Change to another format | Yes | Change format, beside Download, opens the rotated image in the converter, ready for any output it offers. |
| 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. |