Rotate & Flip Images
Turn or mirror any number of images at once — right in the browser. Nothing is uploaded — your files never leave this tab. No sign-up, no size cap, no daily limit.
Rotation that actually sticks
There are two ways to rotate an image, and they are not equally reliable.
The cheap way writes an orientation flag into the file's metadata and leaves the pixels untouched. It is instant and lossless — but it only works if whatever opens the file afterwards bothers to read that flag. Plenty of things do not, and several social platforms strip metadata on upload, at which point your carefully rotated photo quietly flips back.
This tool does the other thing: it re-draws the pixels in their new positions. The rotation is baked in, so it survives everywhere — including the platforms that throw metadata away.
The honest cost
Because the pixels are redrawn, the file is re-encoded once. For PNG, WebP-lossless or BMP that costs nothing at all. For a JPEG it means one more round of compression, which is usually invisible but is not literally free. If that matters to you, set the output to PNG and no further detail is lost.
Flipping works the same way, and the two combine: rotate a quarter turn and mirror it in the same pass, across as many files as you like at once.
Where this is useful
Photos from a phone held sideways. Scans that came out upside down. Screenshots that need mirroring for a mock-up. A folder of product shots that all need the same quarter turn — which is exactly the job that batch limits elsewhere make tedious, and which costs nothing here.
For machines
window.AOImageRotate.rotateBlob(blob, {rotate, flipH, flipV, format}) -> Promise<{blob, width, height}> — Rotate by 0/90/180/270 degrees and/or mirror an image Blob. format: keep|png|webp|jpg.
A machine-readable description lives at index.md. Third-party components and their licences are listed on the licences page.