Image Flip & Rotate
FreeFlip an image horizontally or vertically, or rotate it by 90°, 180°, or any custom angle directly in your browser.
Runs entirely in your browser. Your image is never uploaded anywhere.
Click to choose an image, or drag and drop one here
Recent Activity
Visible to everyone. Last 20 uses across all visitors, newest first.
Rotate 90° CW · 4032×3024
1 week ago
Rotate 90° CW · 3024×4032
1 week ago
Rotate 90° CW · 4032×3024
1 week ago
Flip Vertical · 3024×4032
1 week ago
Flip Horizontal · 3024×4032
1 week ago
Rotate 180° · 3024×4032
1 week ago
Rotate 90° CCW · 3024×4032
1 week ago
Rotate 180° · 4032×3024
1 week ago
What this tool does
Flips an image horizontally or vertically, rotates it by 90° or 180° with one click, or rotates it by any custom angle from -180° to 180° with a choice of transparent or solid-color background for the exposed corners, all directly in your browser.
How It Works
Flip Horizontal mirrors every pixel across the vertical center line, so the pixel at column x swaps with the pixel at column (width - 1 - x) in the same row. Flip Vertical does the same across the horizontal center line, swapping row y with row (height - 1 - y). Rotate 90° and Rotate 180° remap every pixel to a new position using exact integer coordinates, no resampling and no quality loss, and swap the image's width and height for the 90° rotations. The custom-angle slider uses the canvas's native rotation transform to rotate the image around its center by any angle, with the new canvas size calculated from the classic bounding-box formula for a rotated rectangle: newWidth = |W×cos(θ)| + |H×sin(θ)|, newHeight = |W×sin(θ)| + |H×cos(θ)|, so the whole rotated image always fits without being cropped.
Problems it solves
- Fixing a photo taken sideways or upside down from a phone or camera.
- Mirroring a photo so a person or object faces the other direction.
- Straightening a slightly tilted photo, or creating an intentionally angled design element.
Frequently asked questions
›What is the difference between "Flip" and "Rotate"?
Flipping mirrors the image across an axis, like looking at it in a mirror, so left and right (or top and bottom) swap places but nothing turns. Rotating spins the whole image around its center by an angle, so its orientation changes but it is never mirrored.
›Why do the flip and 90°/180° rotate buttons apply instantly, but the custom angle needs "Apply Rotation"?
Flipping and rotating by exact multiples of 90 degrees just rearrange existing pixels into a new grid, so there is nothing to preview, the result is unambiguous the moment you click. A custom angle needs resampling and a background choice for the corners it exposes, so it shows a live preview first and only commits to the image once you click Apply, letting you fine-tune the angle and background before locking it in.
›Why does the canvas get bigger when I rotate by a custom angle?
Rotating a rectangle by anything other than a multiple of 90 degrees makes it stick out past its original bounding box, like a tilted picture frame needing a bigger wall space. The canvas grows to exactly fit the rotated image so no part of it gets cut off, and the corners left empty by the rotation are filled with your chosen background color or left transparent.
›Should I choose a transparent background or a solid color for custom-angle rotation?
Transparent works best if you will place the rotated image over something else, like a design layout or another photo, since it downloads as a PNG that keeps those corners see-through. A solid color makes sense if the image needs to stand alone, such as filling a colored card or matching a page background.
›Is my photo uploaded anywhere?
No. Every flip and rotation happens locally in your browser using the HTML canvas API. Nothing is sent to a server.
Related Tools
Image
Brightness Contrast Image
Adjust the brightness and contrast of an image in your browser with a live preview, then download the result.
FreeImage
Image Exposure Adjuster
Adjust an image's exposure in photographic stops (EV), applied in linear light for a physically accurate result.
FreeImage
Image Vibrance Adjuster
Boost or reduce color vividness in an image while protecting already-vivid colors and grays, unlike a flat saturation change.
FreeImage
Image Channel Mixer
Independently scale the red, green, and blue channel intensity of an image with a live preview.
Comments (0)
Found this tool useful? Leave a comment, share a tip, or tell us how we can make it better.
No comments yet. Be the first to share your thoughts!