Rotate & Flip
Rotates by 90° steps or an arbitrary angle and mirrors horizontally or vertically.
A photo that came off a scanner two degrees crooked and a photo that needs turning a quarter turn are different operations with very different costs. A quarter turn moves whole pixels; two degrees interpolates every one of them. This page does both and tells you which one you are asking for.
A free rotation grows the frame to the rotated bounding box — a 1000×1000 image at 45° becomes 1415×1415 — and the new corners are filled with this.
Pixel-exact. Quarter turns and mirrors move whole pixels — nothing is interpolated. Saving as PNG or WebP-lossless keeps the image byte-identical to a rotation of the original; saving as JPEG re-encodes it, which is a loss the rotation itself did not cause.
Drop images to rotate
Everything happens in this tab. Nothing is uploaded.
How to use it
Turn or mirror
The quarter turns and the two mirrors are pixel permutations — every output byte is an input byte at a different address.
Straighten with the angle slider
A free rotation grows the frame to the rotated bounding box, so a square image at 45° gets noticeably larger and gains four empty corners.
Pick what fills the corners
Transparent needs a PNG or WebP output; choosing JPEG flattens it onto the same colour anyway, so pick white or the surrounding colour deliberately.
Read the note under the controls
It turns green when the operation is pixel-exact and amber when it resamples, which is the difference the page exists to make visible.
Common questions
Is a 90° rotation lossless?
The rotation is. Whether the file is depends on the encoder: save as PNG or lossless WebP and the result is byte-identical to a rotation of the original, save as JPEG and it is re-encoded.
Why is my rotated image bigger than the original?
A rotation that is not a multiple of 90° cannot fit in the original frame — the corners stick out. The frame grows to the rotated bounding box and the new area is filled with the background you chose.
My phone photo rotates itself back when I open it.
That is the EXIF orientation tag: the pixels were never rotated, the viewer was told to turn them. This tool rotates the pixels and writes no orientation tag, so what you see here is what every viewer will show.
Feed it from
PNG Compressor
Quantises the palette and rewrites the deflate stream to shrink a PNG without changing its dimensions.
JPEG Compressor
Re-encodes a JPEG at a chosen quality with a live before/after size and a difference view.
WebP Converter
Converts images to or from WebP, with a quality slider and lossless mode.
AVIF Converter
Converts images to or from AVIF and reports the size against the JPEG or WebP equivalent.
Next
These accept what this tool produces, so the result can go straight in.
EXIF Remover
Strips camera, GPS and editing metadata from photos while leaving the pixels untouched.
Image Cropper
Crops to a freeform or fixed-ratio region and can auto-trim uniform or transparent borders.
Image Resizer
Resizes by pixels, percentage or a target longest edge, with aspect-ratio lock and batch presets.
Background Remover
Keys out a flat or single-colour background in OKLab and returns a transparent PNG, with a brush for fixing the edges.
Favicon Generator
Produces the whole favicon set — ICO, PNGs, Apple touch icon, web manifest — plus the HTML to paste.
HEIC Converter
Converts iPhone HEIC/HEIF photos to JPEG or PNG, keeping or dropping the original metadata.