Image Flipper › Guides

Flip Image Horizontally: One Element or the Whole Frame?

Updated 2026-10-17 · handyvale.com

Short answer

The flipper works on the entire frame — every pixel swaps sides and there is no selection tool. Flipping a single element therefore means cropping it out, flipping the crop, and pasting the result back over the same rectangle.

That last step is where people get caught: the crop box stays put, but the element inside it lands mirrored, so its mass moves by width − 1 − 2 × offset, where offset is how far the element's centroid sits from the crop's left edge. A crop centred on the element leaves it in place.

Browser-side processing — your image is never uploaded · No login · No watermark · No file-size or use limit · Export PNG, JPG or WebP
Open the free Image Flipper — flip an image horizontally

What the button does to every pixel

Flip Horizontal moves each column of pixels to the column mirrored across the centre of the frame. Column 0 goes to the last column, column 1 to the second-last, and so on until the two meet in the middle. Nothing is cropped, nothing is resized, and nothing is exempt.

MeasurementBeforeAfter one Flip Horizontal
Frame1600 × 12001600 × 1200
A 20 × 20 marker at x 100–119x 100–119x 1480–1499
Pixels identical to a pure mirror—1,920,000 of 1,920,000
Columns that stayed where they were—0 of 1,600

The marker's new position is the whole story: 100 became 1480, which is 1599 − 119, the far edge of the marker landing exactly where the mirror puts it. There is no region of the picture that the button treats differently from the rest.

Flipping one element: the crop is the only selection you have

The page offers a file picker, two flip buttons, an output format control and a download button. There is no crop, no lasso, no mask. So an element gets flipped by taking it out of the frame first:

  1. Crop a rectangle around the element and save it as its own file.
  2. Flip that crop with Flip Horizontal and export it.
  3. Paste the flipped crop back over the same rectangle in the original picture.
  4. Re-align if the element moved inside its box — which it will, unless the box was centred on it.

Where the element lands inside the crop

Define offset as the horizontal distance, in pixels, from the left edge of the crop to the element's centroid — the balance point of its pixels. A mirror inside a crop that is w pixels wide puts that centroid at w − 1 − offset instead, so the element travels:

shift = w − 1 − 2 × offset

The three crops below were each flipped with the tool and pasted back over their original rectangle. Both numbers are given: what the element actually did, and what the formula says it should do.

Crop widthOffset from left edgeMeasured shiftFormulaOutside the box
240 px75.92 px+87.161 px87.161 pxmax channel diff 0
240 px115.92 px+7.161 px7.161 pxmax channel diff 0
241 px (centred)119.92 px+0.161 px0.161 pxmax channel diff 0

Read the first two rows together: same crop width, different offset, and the shift changes by exactly twice the difference in offset. The third row is the case worth aiming for — a crop whose centre line passes through the element's centroid, where the element barely moves at all.

How the numbers were produced

Every figure above came from this site's flipper in a desktop Chromium browser, loaded through the page's own file picker and exported as PNG so no compression entered the comparison. Nothing was taken from another site or worked out on paper alone.

For the whole-frame test the canvas was 1600 by 1200 pixels of random noise with a solid 20 by 20 red marker at x 100 to 119, y 100 to 119. The noise matters: with flat colour, columns of identical pixels would look unchanged by accident. After one Flip Horizontal the marker occupied x 1480 to 1499 and y 100 to 119 — 1599 minus 119, exactly where a mirror sends it. Comparing the exported file against a mirror of the original pixel by pixel, all 1,920,000 pixels matched and the largest single channel difference was 0. Zero of the 1,600 columns stayed in their original position, which follows from the width being even: a 1600-wide frame has no middle column for a pixel to sit on.

For the element test the canvas was white with a right-pointing arrow, a rectangle plus a triangle, whose bounding box ran from x 460 to 580 and y 340 to 420. Its centroid, computed from the mask of non-white pixels, sat at x 515.92 — that is the number the offsets below are measured from, not the centre of the bounding box.

Three crops were taken and each went through the tool as a separate file, then was pasted back over its own rectangle with the box coordinates unchanged. Outside the pasted rectangle the largest channel difference was 0 in all three cases, so the re-paste touches nothing but the box.

The first crop was 240 pixels wide starting at x 440, putting the centroid 75.92 pixels from its left edge. After the flip and the re-paste the centroid sat at 603.08, a move of +87.161 pixels. The formula gives 240 − 1 − 2 × 75.92 = 87.16, and the two agree to the third decimal because the shift is arithmetic rather than an estimate.

The second crop was also 240 pixels wide but started at x 400, so the centroid was 115.92 pixels in. It moved +7.161 pixels, against a formula value of 7.161. The third crop was 241 pixels wide and positioned so its centre line fell on the centroid: the element moved +0.161 pixels, which is the sub-pixel residue of the centroid sitting half a pixel off the exact centre.

What the formula implies is worth stating plainly: the shift is zero when the offset equals half the crop width minus half a pixel, and it grows by two pixels for every pixel the element sits further from that centre line. Widening the crop does not help on its own — widening it symmetrically leaves the offset ratio unchanged and the shift unchanged with it.

What we did not test, and will not claim: crops narrower than the element, where the box clips it and the arithmetic above stops describing what you see; feathered or semi-transparent edges, which a hard crop does not reproduce; rotation combined with a crop; animated files, where only the first frame survives; and the paste-back step itself, which happened in an ordinary image editor because the page has no paste function to test.

What this workflow cannot do

Three limits are worth knowing before you start. The crop edge is hard, so an element that fades into its background will show a rectangle where the two versions meet. The element is clipped by its own box, so a crop that cuts into it cannot be recovered by flipping. And each save is a fresh encode, so a crop flipped and pasted back into a JPEG costs a generation of quality that the whole-frame flip would not have cost.

Flip an image horizontally now — free, no upload

Related guides

Frequently asked questions

Does Flip Horizontal affect the whole image or just part of it?

The whole frame. Every pixel swaps to its mirrored column and there is no selection tool in the page, so a 1600-pixel-wide picture moves all 1,920,000 of its pixels and leaves none of its 1,600 columns where they were.

How do I flip only one element in a picture?

Crop the element out, flip the crop, then paste the flipped crop back over the same rectangle. The crop box stays where it was; what moves is the element inside it, by the distance described below unless the crop is centred on the element.

Why did my element move when I flipped the crop?

Because the crop was not centred on it. A mirror inside a crop puts the element's centroid at width − 1 − offset instead of offset, so it travels width − 1 − 2 × offset. In our test a 240-pixel crop with the centroid 75.92 pixels from the left edge moved the element 87.161 pixels to the right.

Does pasting the flipped crop back disturb the rest of the picture?

No. In all three crops we tested, the maximum channel difference outside the pasted rectangle was 0, so the pixels around the box were untouched.

Can I select part of an image inside the browser flipper?

No. The page has a file picker, two flip buttons, an output format control and a download button, and no cropping or selection of any kind. The crop has to happen before or after the flip, in whatever editor you already have.