Flip JPEG images online for free. Mirror horizontally or vertically.
Flipping mirrors a photo along an axis without changing its content. Horizontal flip swaps left and right (text becomes reversed); vertical flip swaps top and bottom. Because JPEG (defined in ISO/IEC 10918-1, 1992) is the dominant photographic format on phones and the open web, flipping JPEGs is one of the most frequent edits in product photography, social posting, and print prep.
| Operation | What changes | Lossless? | Best for |
|---|---|---|---|
| Horizontal flip | Pixels mirrored left-right | Re-encoded here (no lossless mode); a jpegtran-style block flip in a desktop tool is mathematically lossless if width is a multiple of the MCU (8 or 16 px) | Selfies, transfers, design layouts |
| Vertical flip | Pixels mirrored top-bottom | Same caveat as horizontal | Reflections, fixing scanner orientation |
| 90/180/270 rotate | Pixel grid rotated | Re-encoded here; lossless only in DCT-domain tools when dimensions align to MCU | Sideways phone shots |
| EXIF Orientation tag | Only metadata changes; pixels untouched | Always lossless, but ignored by tools that don't parse EXIF | Camera auto-orientation hint |
The EXIF Orientation tag defines eight states: 1 = normal, 2 = mirror horizontal, 3 = rotate 180°, 4 = mirror vertical, 5-8 cover combinations of mirror + 90°/270° rotations. Browsers and modern photo apps usually honour this tag, but Photoshop's "Save for Web," many web pipelines, and most CMS uploaders do not — which is why a flip baked into the pixel data is more reliable than a tag-only flip.
When "Save as" gives JPG output, the "Quality" slider (40–100, starts at 85) sets the re-encode:
| Quality | When to use |
|---|---|
| 90–100 | Print, archival, photos you will edit again |
| 80–90 | Social media, blog headers, e-commerce listings |
| 65–80 | General sharing, email attachments |
| 40–65 | Thumbnails and placeholders |
JPEG is a lossy format — every save sheds a little detail. If you plan further edits (crop, colour correction), flip at a high quality and compress only at the end.
Not here. Like most online tools, this editor decodes and re-encodes the image, which applies fresh JPEG compression and discards a small amount of data. Truly lossless flips require DCT-domain block transforms (the technique used by jpegtran) and only work when the image's width and height are multiples of the MCU block size — typically 8 or 16 pixels for chroma-subsampled JPEGs. To minimize quality loss in the re-encode, move the "Quality" slider to 95 or higher (it starts at 85).
Front-facing cameras preview a mirrored view to feel natural to the subject, but most phones save the un-mirrored frame. iOS 14 and later expose a "Mirror Front Camera" toggle in Settings → Camera; many Android OEMs (Samsung, Pixel) have a similar option. If yours is on, the saved file is already mirrored, so a horizontal flip in xconvert will un-mirror it back to reality.
xconvert applies the flip to the pixel data and, when you save as JPG, writes a normal orientation (value 1) to the output while keeping the rest of the EXIF (camera, date taken, GPS). That way the file displays correctly in any viewer — including older software that ignores the tag — without relying on metadata interpretation.
That's the expected behaviour: a horizontal flip mirrors every pixel, including any text in the photo. If you need to keep text readable, mask or remove the text before flipping, or use a layered editor (such as Photopea) where text and image live on separate layers.
Flip first, then compress. JPEG re-encodes lose a little detail each pass; combining flip and compression in one xconvert run means a single re-encode instead of two. Use Resize and the "Quality" slider in the same session to do both at once.
Yes. JPG, JPEG, and JFIF are all the same JPEG bitstream — JFIF is just a specific container header on top of the JPEG ISO/IEC 10918-1 codec. xconvert accepts all three extensions on this page, and a file saved as JPG keeps its own extension spelling: a .jpg stays .jpg, a .jpeg stays .jpeg and a .jfif stays .jfif (the flip JPG page behaves the same).
Different operations. A 180° rotation is equivalent to a horizontal flip combined with a vertical flip (or vice versa) — every pixel ends up at the diagonally opposite corner. A single horizontal or vertical flip moves pixels to only one mirrored corner. If you need to rotate by 90, 180, or 270 degrees, use rotate JPEG instead.
Yes — drop up to 50 JPEG files at once (a mixed batch works too). The flip direction you set applies to every file in the batch; "Download all (.zip)" saves every flipped result in one ZIP, or use "Download one by one" to save them separately.
Most images are processed right in your browser and are not uploaded. A modern laptop comfortably handles 50-megapixel JPEGs (around 20-30 MB each); on a phone you may want to stay under 12 MP per file. The editor batches up to 50 files at once, so flipping a few thousand images just means working through it 50 at a time instead of one by one.
Need a different operation? See crop JPEG, compress JPEG, convert JPEG to PNG, or flip PNG for the lossless equivalent on transparent images.