Free Image Rotator & Flipper
Rotate images by 90°, 180°, 270°, or any custom angle. Flip horizontally or vertically. Export to JPEG, PNG, or WebP.
Drop a file here, or click to browse
JPG, PNG, WebP, HEIC, HEIF · processed on your device
or press Ctrl+V to paste from your clipboard
Tip: you can paste a screenshot with Ctrl+V
Your files never leave your device. All processing happens locally in your browser.
Common uses
- Fix Sideways Phone PhotosRotate photos that came out sideways from your phone or camera — without uploading anywhere.
- Straighten Scanned DocumentsFix slight rotation in document scans using the fine angle slider.
- Unmirror Mirror SelfiesFront-facing camera selfies are usually mirrored — flip horizontally to fix.
- Rotate for Creative EffectUse arbitrary angles to tilt photos for stylistic, magazine-cover-style effects.
- Rotate for Print LayoutAdjust orientation of images before placing them in print layouts (Word, InDesign, Canva).
How It Works
Rotation, flipping, and angle correction here run entirely inside your browser using the HTML Canvas API — no file is ever sent to a server. The tool draws your image onto an off-screen canvas at the chosen angle and scale transforms, then encodes the result to JPEG, PNG, or WebP using the browser's own codec.
- 1Image decoded locallyYour JPEG, PNG, or WebP file is loaded into an HTMLImageElement via a local object URL — a browser memory reference that never leaves your device. The natural pixel dimensions are read directly from the decoded bitmap.
- 2Canvas transform appliedAn off-screen canvas is sized to fit the rotated bounding box (width·cos + height·sin for each axis). The Canvas 2D context is then translated to the center, rotated by the chosen angle in radians, and scaled by -1 on the horizontal or vertical axis for flips — all standard ctx.rotate / ctx.scale operations with no external library.
- 3Auto-crop trims corners (optional)For non-right-angle rotations, a hand-written geometry function — largestInnerRect — calculates the largest axis-aligned rectangle of the original aspect ratio that fits inside the rotated bounding box, so the triangular blank corners are removed without distorting the image.
- 4Browser codec encodes the resultcanvas.toBlob() hands the pixel data to the browser's built-in image encoder, producing a JPEG (with selectable quality and background fill color for transparent corners), PNG, or WebP Blob that you download directly.
Your image is processed entirely within your browser tab — it is never uploaded to any server.
Related Tools
Flip Text Generator
Flip text upside down, mirror it, or reverse it with Unicode look-alike characters.
Rotate Video
Rotate or flip a video to fix footage shot sideways or upside down. 90°, 180°, and mirror options with a live preview. Runs entirely in your browser.
Image Upscaler
Enlarge a photo 4× with an AI model that runs on your own device — sharper edges and readable text, not just bigger pixels. Nothing is uploaded, no account, no watermark.