keptlocal
Files never leave your browser

Flip Image

Drop an image, choose horizontal or vertical flip, and download instantly. Nothing is uploaded.

Drop an image here, or

JPG, PNG, WebP · Files never leave your browser.

Drop an image to flip it.

How to flip an image

  1. Drop your image into the zone above, or click to browse. JPG, PNG, and WebP are supported.
  2. Choose Horizontal to mirror left-to-right (as if reflected in a vertical mirror), or Vertical to flip top-to-bottom (as if reflected in a horizontal mirror).
  3. Select an output format — leave on Same as input or switch to JPG, PNG, or WebP.
  4. Click Flip & download. The flipped image saves directly to your device.

Everything runs in your browser using the Canvas API. No file is sent to a server — open DevTools (F12) → Network while flipping to verify zero upload requests.

When to flip an image

  • Mirroring a logo or icon — design systems sometimes need both a left-facing and right-facing version of a directional icon (arrows, characters, creatures). Horizontal flip produces the mirror variant instantly.
  • Correcting a mirrored selfie — front-facing phone cameras often produce a mirror image (as you see yourself in a mirror, not as others see you). A horizontal flip corrects text in the background and produces the "true" orientation.
  • Layout balance in graphic design — a portrait or product shot that faces one direction can be flipped to balance a two-column layout, direct attention toward text, or match a template's composition requirements.
  • Watermarking symmetry — watermarks applied diagonally sometimes need a mirrored version for opposite corners. Flip the watermark image rather than recreating it.
  • Testing layout mirroring for RTL languages — UIs for Arabic, Hebrew, and other right-to-left languages often mirror their layouts. Flipping screenshots helps verify that mirrored designs look balanced.

Horizontal vs. vertical flip explained

A horizontal flip (also called a mirror or left-right flip) maps every pixel at position (x, y) to position (width − 1 − x, y). The image appears as its own reflection in a vertical mirror — text becomes backwards, faces appear as their mirror image.

A vertical flip (also called an upside-down or top-bottom flip) maps every pixel at (x, y) to position (x, height − 1 − y). The image appears upside down — as if you held the printed photo by its bottom edge and flipped it away from you.

Applying both a horizontal and a vertical flip is mathematically equivalent to a 180° rotation — you end up with an image that is both mirrored and inverted, which is the same as rotating it half a turn.

How it works under the hood

The browser decodes the image using createImageBitmap(). A canvas is created with the same dimensions as the source image. For a horizontal flip, the canvas context is translated by the image width along the x-axis and scaled by −1 in x (ctx.translate(width, 0); ctx.scale(-1, 1)). For a vertical flip, the equivalent is applied on the y-axis. The image is then drawn normally — the transform makes it appear mirrored.

This approach is mathematically exact — every pixel maps to its correct mirror position with no rounding, no blending, and no quality loss. The result is encoded to the chosen format via canvas.toBlob().

Limits and what to expect

  • PNG flips are lossless: every pixel in the output corresponds exactly to its mirror counterpart in the input. No quality degradation occurs.
  • JPG and WebP re-encode at 0.92 quality: the output is visually indistinguishable from the input for typical images, but the file is re-encoded rather than being a bitwise transformation.
  • EXIF metadata is not preserved: EXIF data (camera model, GPS, orientation) is stripped. If you need to preserve metadata, a dedicated EXIF editor tool is appropriate after flipping.
  • Animated GIF and AVIF: only the first frame of animated formats is processed — the tool outputs a static image. For animated formats, frame-by-frame processing is not supported.
  • Browser support: Chrome 90+, Firefox 90+, Safari 15+, Edge 90+.

Privacy: what happens to your file

Your image is decoded and flipped entirely in browser memory. Nothing is sent to a server. The flipped file is generated from the canvas and downloaded directly to your device.

For private photos, identity documents, or any image you would prefer not to share with a third party, this architecture provides complete local processing with no external data transfer.

Frequently asked questions

Are my images uploaded to a server?
No. Flipping uses the Canvas API entirely in your browser. Your image never leaves your device.
What is the difference between horizontal and vertical flip?
Horizontal flip (mirror) produces a left-right mirror image — as if reflected in a vertical mirror. Vertical flip produces an upside-down image — as if reflected in a horizontal mirror.
Can I flip both axes at once?
Yes — apply horizontal flip, then vertical flip. Two flips in opposite axes is equivalent to a 180° rotation.
Does flipping change image quality?
PNG flips are lossless. JPG output re-encodes at the chosen quality level.
What formats are supported?
JPG, PNG, and WebP input and output.