What does Image Rotate & Flip do?
It loads one JPG, PNG, or WebP, applies supported quarter-turn rotations and flips, and exports a newly encoded copy with those transforms baked into the pixels.
Use Left 90° or Right 90°, toggle horizontal or vertical flip, preview the orientation, then apply and download.
Preparing the editor...
The guide and instructions on this page are available while the tool loads.
Image Rotate & Flip turns or mirrors one supported JPG, PNG, or WebP and exports a newly encoded copy with the selected orientation baked into the pixels. It is a geometric transform tool—not a cropper, resizer, format converter, or EXIF-repair utility.
Upload one image up to 20 MB. Use Left 90° or Right 90°; repeated clicks accumulate and normalize to 0°, 90°, 180°, or 270°. Toggle Horizontal and Vertical flip independently, including both at once. Reset changes returns transforms to the original settings. A CSS live preview updates immediately; Apply & download draws the transform on canvas. There is no batch queue and no ZIP.
A 90° or 270° turn swaps output width and height so the full quarter-turned image fits; 180° and flips alone keep the same dimensions. The canvas is sized to the transformed bounds—there is no intentional crop or stretch for these controls. PNG and WebP use a cleared canvas so decoded alpha can remain; JPG fills white (#ffffff) because JPEG has no transparency. Export re-encodes through canvas.toBlob in the source MIME: JPG and WebP use an internal quality of 92; PNG ignores that quality value. Animated WebP becomes a still frame. Browser decoding may apply source orientation before the manual transform; EXIF, GPS, ICC, DPI, and related metadata are not deliberately copied.
Decoding, transformation, and encoding stay in the browser via the Image element, object URL, and canvas. Image bytes are not posted to a transform API. Ordinary website assets may still load. Identified analytics may include rotation, flip flags, sizes, dimensions, click events, and error codes—not filenames or raw image contents.
AVIF, GIF, BMP, HEIC/HEIF, SVG, and TIFF are not accepted. There is no free-angle deskew, format picker, quality slider, or background-color control. Live preview uses CSS transforms; export uses translate → rotate → scale on canvas, so inspect the encoded result before replacing the original. Filenames are {base}-rotated, {base}-flipped, or {base}-edited plus the source extension. Reset clears the workspace and is not a dedicated mid-export cancel control. Large images can use substantial browser memory.
Typical tasks this tool is built for.
Image decoding, rotation, flipping, canvas rendering, and export run locally. The image file is not uploaded for this workflow. DevToolKit may receive usage or diagnostic metadata such as rotation angle, flipX, flipY, dimensions, byte counts, click actions, page context, and result codes. Identified analytics do not include the filename or raw image bytes.
Practical tips before you download or share the output.
One JPG/PNG/WebP up to 20 MB. Left/Right 90° accumulate to 0/90/180/270; Horizontal and Vertical flips toggle and combine. Export: canvas translate → rotate → scale; output matches source format. JPG white fill; PNG/WebP clearRect. Internal quality 92 for JPG/WebP; no slider. Filenames -rotated / -flipped / -edited. No batch, ZIP, free angle, or EXIF repair. Animated WebP → still. Analytics may include rotation, flipX/flipY, bytes, dimensions, and codes—not filename or raw bytes.
Longer reads that pair well with this tool.
Common next steps after using this tool.
Compress a JPG, PNG, WebP, or AVIF image with format, quality, and optional resize controls.
Build one ordered PDF from mixed supported image formats, with one ready image on each page.
Remove an image background, review the cutout, refine its edge softness, and export it with transparency or a new background.
Turn one or more JPG and JPEG photos into a single ordered PDF with one image per page.
Select a rectangular region from one JPG, PNG, or WebP with aspect presets, pixel coordinates, and format-aware export.
Resize a JPG, PNG, or WebP image by exact dimensions, percentage, or common web and social presets.
Situations where this workflow saves time.
It loads one JPG, PNG, or WebP, applies supported quarter-turn rotations and flips, and exports a newly encoded copy with those transforms baked into the pixels.
JPG, JPEG, PNG, and WebP. AVIF, GIF, BMP, HEIC/HEIF, SVG, and TIFF are rejected.
Output stays in the source format: JPG→JPG, PNG→PNG, WebP→WebP. There is no format selector.
One image per run. There is no batch queue and no ZIP packaging.
20 MB. There is no separate combined-size limit and no hard pixel-dimension cap, but large canvases can use substantial memory.
Left 90° and Right 90° clicks. Accumulated values normalize to 0°, 90°, 180°, or 270°. There is no free-angle slider.
No. Only quarter-turn steps are implemented.
Each flip is a toggle. You can enable Horizontal, Vertical, both, or neither. Reset changes clears flips and rotation.
Yes. Export translates to the canvas center, rotates, then applies scale for flips before drawing the image.
At 90° or 270°, width and height swap so the full image fits. At 0° or 180°, and for flips alone, dimensions stay the same.
For the supported quarter-turns and flips, the canvas is sized to the transformed bounds and the image is drawn without intentional crop or stretch.
PNG and WebP use a cleared canvas so decoded alpha can remain. JPG fills white because JPEG cannot store transparency.
There is no quality slider. JPG and WebP use an internal quality of 92. PNG ignores that quality argument.
No. An animated WebP is exported as a single still image from the decoded frame.
No. Browser decoding may apply orientation before drawing, but the tool does not parse or rewrite orientation tags. Do not treat it as EXIF repair.
They are not deliberately copied. Canvas re-encoding typically leaves metadata and color profiles behind.
Locally in the browser. Image bytes are not uploaded for rotation or flip.
Rotation only uses {base}-rotated.{ext}, flip only uses {base}-flipped.{ext}, and combined or no-transform export uses {base}-edited.{ext}.
No. One file is exported, with automatic download plus a manual re-download.
The live preview uses CSS transforms. Export draws through canvas translate → rotate → scale. Always check the encoded result after Apply & download.
There is no dedicated cancel control during encoding. Reset clears the workspace afterward and is not true mid-export cancellation.
Identified events may include engine, input/output bytes, width, height, rotation, flipX, flipY, rotate/flip click events, and error codes. They do not include the filename or raw image bytes.
Browse related tools or open the full workspace.