Flip an image

Runs on your device · Your file never leaves your device.

A selfie from the front camera comes out mirrored, so text on a shirt reads backwards; a scan fed in head first comes out upside down. Flip horizontally to mirror, vertically to swap top and bottom, or both — which is the same as a 180° turn and puts an upside-down scan the right way up with its text reading normally. Do a whole batch in one go.

Flipping moves every pixel to its mirror position and changes nothing else: the image stays exactly the same size and nothing is resampled or blurred. JPG stays JPG, PNG keeps its transparency, WebP stays WebP; an iPhone HEIC is saved as JPG.

The work runs on your device and the photo never leaves your browser. The saved file is rebuilt from pixels, so the EXIF block with camera, location and date is not carried over.

How to flip an image

  1. Add one photo or a batch.
  2. Choose Horizontal (mirror), Vertical (upside down), or both.
  3. Press Flip and download the image, or the ZIP for a batch.

Supported formats and limits

Input
JPG, PNG, WebP, HEIC, GIF, BMP, AVIF
Output
JPG, PNG and WebP keep their format; HEIC, BMP and AVIF → JPG; GIF → PNG (first frame). Same pixel size
Directions
Horizontal, vertical, or both
Batch
Yes — one ZIP
Where it runs
In your browser; nothing uploaded

Not for: Turning a picture by an angle — that is the Rotate image tool.

Mirror, upside down, or both

Horizontal swaps left and right. It is the setting for a front-camera picture in which writing reads backwards, or for a picture that should face the other way in a layout. Vertical swaps top and bottom, which is not the same as turning a picture the right way up. An upside-down photo, or a page that went through the scanner head first, comes out the right way up after a vertical flip, but with every word mirrored.

To fix such a picture, choose both directions. Flipping horizontally and vertically together gives exactly the same picture as a 180° turn, so the text reads normally again. /rotate-image does the same with its 180° button and can also level a page that went in slightly crooked.

What changes in the saved file

The flip is applied to the picture as the preview shows it, after the phone's orientation tag has been applied, so a photo the phone stored sideways is mirrored the way it looks, not the way it was stored.

The file is then written again by the browser at the quality on the slider, so a JPG goes through one more compression. Which formats change on saving, such as a GIF becoming a PNG, is listed on /crop-image, which uses the same engine. A HEIC photo is decoded on your device without loss, so it is compressed only once, when it is saved as JPG at your setting. If you also need a smaller file, flip first and reduce the size afterwards with /compress-image, so the picture is compressed hard only once.

Each flipped file gets “-flipped” added to its name, and several files arrive together in flipped-images.zip. Batches work the same way as on /rotate-image.

Frequently asked questions

Are my files uploaded to a server?
No. This conversion runs inside your browser using your own device’s processing power, and the file is not uploaded. Once a tool has been used once (video, text recognition and background removal download their engine from this site the first time), it keeps working when your connection drops.
What is the difference between flip and rotate?
Rotating turns the picture around its centre; a rotated face still looks the same way. Flipping mirrors it, so the left side becomes the right — that is what un-mirrors a selfie. Rotating by 180° and flipping vertically are not the same thing.
Will the picture lose quality?
No pixel is scaled or blended. A JPG is re-encoded at the quality you set, 92% by default; PNG is lossless.
Can I flip several images at once?
Yes. Add a batch, choose horizontal, vertical or both, and download one ZIP.

Related tools

More in Images

This page in other languages: العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা