Flip a GIF horizontally or vertically online for free and save the mirrored image as GIF, PNG, JPG, WebP and more.
Flipping mirrors an image across an axis without rotating it — horizontal swaps left and right, vertical swaps top and bottom. The editor on this page mirrors your GIF's frame and saves it as a still image; the mechanics below explain what flipping is used for, whether the source is static or animated.
Need a different transformation? Use Rotate GIF for 90° turns, Crop GIF to trim borders, Resize GIF to fit a specific pixel dimension, or Compress GIF to shrink an animated GIF before sharing. Working with a non-GIF source? Flip PNG, Flip WebP, and Flip Image cover the other static formats.
| Direction | What happens | Common reason |
|---|---|---|
| Horizontal | Left ↔ Right (mirror across vertical axis) | Fix mirrored selfies, point a reaction the other way, RTL localization, sprite reuse |
| Vertical | Top ↔ Bottom (mirror across horizontal axis) | Correct inverted action-cam / dashcam captures, build reflections |
| Both (H + V) | Equivalent to 180° rotation pixel-for-pixel | Quick "upside-down + mirrored" without invoking a rotation pass |
| Property | Kept? | Notes |
|---|---|---|
| Dimensions | Yes | Width and height are unchanged unless you also resize |
| Pixel values | Yes | Mirroring remaps positions 1:1 — no resampling, no interpolation |
| Transparency | Yes, except in JPG/BMP/PPM | Transparent pixels mirror along with the rest; JPG, BMP and PPM flatten them onto white, so keep GIF or pick PNG or WebP |
| Colors | Yes, in GIF and PNG | Saving back as GIF re-builds a 256-colour palette; PNG is exact; JPG and WebP are lossy |
| Animation | No | The output is a single still frame — frames, delays, and loop count are not kept, even when you save as GIF; the editor says so when an animated GIF opens |
| EXIF / orientation tag | N/A | GIF has no EXIF block, so there's no orientation flag to update separately |
| Spec point | Value | Why it matters |
|---|---|---|
| Compression | LZW (lossless) | A GIF's pixel data is stored exactly; what you see in the editor is what the file contains |
| Colors per frame | Up to 256, chosen from 24-bit RGB | Gradients in GIF sources often carry banding from the palette limit — flipping doesn't add or remove it |
| Transparency | 1-bit binary (single transparent index per frame) | No alpha channel — semi-transparent edges were already snapped to opaque-or-clear when the GIF was made |
| Frame timing | Per-frame GCE delay in 1/100 second | Animation timing lives in the GIF container — it doesn't transfer into a still-image export |
| Loop control | Netscape Application Block (1–65535 or infinite) | Loop count is a GIF-container feature; static formats have no equivalent |
No. The editor mirrors the first frame only, and every "Save as" format — GIF included — is written as a single still, so an animated source comes out as a mirrored still (the editor notes "Animated GIF: an edit here keeps only the first frame." when the file opens). XConvert doesn't currently offer an animation-preserving flip. If your end goal is a smaller animated GIF (unflipped), Compress GIF handles resolution, palette, and frame-dropping while the loop keeps playing.
Flipping mirrors the image across an axis — horizontal mirrors left↔right, vertical mirrors top↔bottom — and is its own inverse. Rotating turns the image by an angle and changes its orientation rather than mirroring it. A 180° rotation looks pixel-identical to applying both a horizontal and a vertical flip, but a 90° or 270° rotation cannot be reproduced by any combination of flips. For angle-based turns, use Rotate GIF.
The flip itself doesn't change pixel count, so size depends on the format you download: PNG is lossless and lands near the source frame's natural size, JPG compresses photographic content hardest, WebP usually beats both. (For shrinking the animated original rather than the exported still, GIF to WebP converts the whole loop at 20-50% smaller.) A single exported frame is almost always far smaller than the animated source GIF, because you're keeping one frame out of many.
GIF sources can't contain it — GIF89a supports only 1-bit transparency, so every pixel in the file is already fully opaque or fully invisible, and semi-transparent edges from an original PNG or WebP were snapped to opaque-or-clear when the GIF was created. The editor mirrors whatever transparency the frame has; download as PNG or WebP to keep it. If you need true alpha end-to-end, start from the original and use Flip PNG or Flip WebP.
Yes — set the flip, then switch to the Resize tab and type a width and height under "Dimensions" or pick a percentage from the "Size preset" list. Both edits land in the same saved image, and because the flip is a 1:1 pixel remap, only the resize step resamples anything.
The image is probably already symmetric along the vertical axis, or the asymmetric part (text, a face, a logo) sits very near the center. Try a vertical flip to confirm the tool is running; if vertical changes the image but horizontal doesn't, the source is genuinely left-right symmetric. For text overlays, the letters themselves will flip and become unreadable — that's expected behavior, not a bug.
Yes, for the frame you export. iPhone Live Photos are 1.5-second 15 fps clips whose front-camera preview is mirrored on screen but saved un-mirrored, so a GIF made from one can look reversed compared to what you saw. A single horizontal flip puts text, parted hair, and logos back in the orientation you remember — the editor hands you that corrected frame as a still.
Yes — there's no animation to drop. The frame is mirrored 1:1 and, with "Save as" on "Same as original", comes back as a .gif (one still frame, 256-colour palette, on/off transparency); pick PNG instead if you want exact pixels in a lossless file. GIF to PNG and PNG to GIF cover the format trips without a flip.
No on all three. The editor is free, adds no watermark, and needs no account. Nothing is published or shared — no public link is generated, and the only output is the file you download.