Flip Image

Mirror a picture horizontally, vertically or both — at its original size, in your browser.

Runs on your deviceImagesWorkingNo account needed

What this tool does

Flip Image writes the mirror image of the picture you give it. Horizontally swaps left and right, which is the horizontal flip people reach for when a front-camera photo has come out reversed. Vertically swaps top and bottom. Both applies the two together, which lands on exactly the same arrangement as turning the picture through 180 degrees. Whichever you pick, the output keeps the width and height of the input — a mirror moves pixels around, it does not change how many there are.

Underneath, the canvas is given a negative scale factor on one or both axes and a translation that puts the image back in frame. That matters for a practical reason: every pixel lands exactly on another pixel, and no intermediate value is ever calculated. Mirroring therefore cannot soften an edge or introduce the stair-stepping that scaling and off-square angles do. The only place quality can be lost is the encode at the end, and only if you write to a lossy format.

The output format is yours to choose: Same as the input, or JPG, PNG, WebP or AVIF. Same as the input keeps the original format when the canvas can write it, so a GIF or a BMP comes back as PNG instead — those two are not on the writable list here. The quality slider starts at 88 and reaches JPG, WebP and AVIF only; PNG is lossless and ignores it. Because JPG carries no transparency, a picture with transparent areas is drawn onto white before it is mirrored and written out.

Three limits worth knowing before you start. A horizontal mirror reverses any writing in the shot, so signage, logos, number plates and clock faces come out backwards — that is the operation working, not a fault, and it is the usual reason a flip looks wrong afterwards. This is also not a lossless JPEG transform: the file is decoded to pixels and re-encoded, so a JPG in and a JPG out costs one generation of encoder loss, where a coefficient-level tool such as jpegtran would cost none. And the browser hands back bare pixels, so EXIF, GPS tags and any embedded colour profile do not survive the trip.

How to use it

  1. Add your images. JPG, PNG, WebP, GIF, BMP and SVG are read, and AVIF on recent browsers. Several files at once is fine — each is mirrored with the same setting, one after another.
  2. Choose the mirror. Horizontally is the default and swaps left for right. Vertically swaps top for bottom. Both does the pair, which matches a 180-degree turn.
  3. Pick the output format. Same as the input, or force JPG, PNG, WebP or AVIF. Choose PNG when the source was lossless and you want the round trip to cost nothing.
  4. Set the quality and download. The slider opens at 88 and applies to JPG, WebP and AVIF. Results arrive with -flipped added to the original filename, alongside the pixel dimensions so you can confirm nothing was resized.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Correcting a reversed selfie

Front cameras show a mirrored preview, and what is saved does not always match it, so lettering on a shirt reads backwards. One horizontal flip puts the scene the way round you actually saw it.

Preparing artwork for an iron-on or window transfer

Anything printed to be applied face-down has to be mirrored first, or the design reads backwards through the material once it is stuck on.

Straightening a photo taken in a mirror

Reflected captures — a room shot through a mirror, or a document photographed off glass — arrive reversed. Flipping horizontally makes the text readable again.

Fixing an upside-down render export

Some renderers and texture pipelines write images with the origin at the bottom, so exports land inverted top to bottom. A vertical flip corrects that without turning the picture 180 degrees, which would swap the sides as well.

Questions

Are my images uploaded?
No. Decoding, mirroring and encoding all happen in this browser tab through the canvas, which is why the tool keeps working with the network switched off. The file itself goes nowhere.
Does flipping lose quality?
The mirror itself loses nothing — pixels are moved, never blended. The cost sits in the re-encode: writing JPG, WebP or AVIF adds one generation of encoder loss, and writing PNG adds none. Flipping a JPG here is not the lossless coefficient rewrite jpegtran performs, so start from the original rather than from a previous result.
What is the difference between flipping and rotating?
A flip reflects the picture; a rotation turns it. No amount of turning reproduces a mirror, which is why a reversed photo cannot be fixed by rotating it. The exception is Both, which reflects on both axes and so matches a 180-degree turn. For 90 or 270 degrees, or a custom angle, use Rotate Image.
Do the dimensions change?
No. The output is the same width and height as the input, whichever direction you pick, and nothing is cropped or padded. The summary reports the pixel size after the flip so you can check.
What happens to my EXIF and camera data?
It is discarded. The canvas returns raw pixels with no metadata attached, so the capture date, camera model, GPS position and colour profile are all absent from the result. Remove EXIF is the tool for when stripping that data is the goal in itself.
Can I flip an animated GIF?
Not as an animation. Only the first frame is decoded, and GIF is not among the output formats offered here, so an animated file comes back as a single mirrored still in PNG, JPG, WebP or AVIF.
Can I mirror only part of the picture?
No — the flip applies to the whole canvas, and every file in a batch gets the same direction. To mirror one region, crop it out with Crop Image, flip the crop, then place it back in an editor.

Related tools