Flip a picture
Reflect across the upright axis, the horizontal one or both, turn in quarter steps, or build a reflection, a symmetry or a mirrored pair. The samples are the ones your file already had — never resampled.
Nothing has been read yet. The two panels above are a drawing, not a file — the sign on the right is the one on the left reflected, which is the whole operation.
Open an image. Choose an axis.
The result is drawn from the same pixels, in reverse order.
Open an image. Choose an axis. The result is drawn from the same pixels, in reverse order.
Nothing to hand? and watch the words reverse.
The three confusions worth settling first
- Mirrored or turned
A reflection and a rotation are different matrices. Here is where they coincide.
- Printing a mirrored image
Four transfer methods, which of them reverse the artwork, and the print dialogue that undoes it.
- Why your selfie is reversed
The front camera previews a mirror and saves something else.
Three reasons anybody actually reverses a picture
Lettering that has to read backwards
A sign, a label or a word that will be pressed face down, projected through glass, or read in a mirror. The two-up comparison exists for exactly this: a reflection of a photograph with no text in it can be hard to spot, and a reflection of one with text in it is impossible to miss.
Flip horizontallyArtwork going onto a transfer
Six processes, three of which reverse the artwork in the press and three of which do not, plus the printer driver setting that quietly reverses it a second time. The tool asks which process, then says mirror or do not mirror, and why.
Mirror for a transferSymmetry built from one half
A mirror line placed anywhere along either axis, either half kept, a feathered join, and a frame that either stays as it was or becomes exactly twice the half you kept. That is a construction, not an effect, and the numbers are on the panel.
Mirror one halfJobs this engine is set up for
Every route below is the same engine under different parameters.
Flip image online
Flip, turn into any of eight orientations, mirror a half, or add a mirror effect
Flip an image horizontally
Left becomes right, with a two-up that shows which details changed sides
Flip an image vertically
Top becomes bottom — and why that is not the same as a half turn
Mirror half of an image
Pick a half and a line, and its reflection replaces the other side
Mirror for a transfer
Reverse the artwork before it is printed, so the press puts it back the right way round
Batch flip images
Flip up to fifty files at once, each by its own orientation, and download one ZIP
Mirror a selfie
As saved or as you saw it — both side by side, and keep the one that looks right
The transform
What the operation does
A reflection is not a filter and it is not a redraw. The decoder hands over a grid of samples; this tool reads that grid back along one axis in reverse order and writes it into a new one at whole-pixel positions with smoothing turned off. Nothing is interpolated, nothing is averaged, and no colour is converted. Reflect the same file twice on the same axis and you have the file you started with, sample for sample.
Both axes at once is two reflections composed. It lands on the same grid a half turn would, which is why the two are so often confused, and they are still different operations: they have different inverses, different names in every graphics library, and different consequences for anything that is not a rectangle. Both are available here, and the readout says which one was applied.
Mirroring one half is the same matrix used differently. Choose a half, and its reflection replaces the other one. The line is movable rather than fixed to the centre, because a subject that was never centred does not become centred by being reflected about the middle of its frame, and up to eight pixels of feather will soften the join on a textured surface where a hard seam would announce itself.
Five steps
Running it
- Open a file. Drop it on the panel, click to use the picker, or paste it from the clipboard. Orientation is resolved at this point, before the tool sees a pixel.
- Choose an axis. H reflects left to right, V reflects top to bottom, B does both. S switches to mirroring one half and gives you the line and the feather.
- Read both panels. Drag the divider to wipe between the file you opened and the file you will get. Hold Space to see the original across the whole frame, and let go to come back.
- Set the container. The export keeps the kind of file you brought where the browser can write it. For a JPEG source the quality is read out of its own quantisation tables rather than guessed at.
- Save it. Save mirrored file, or Ctrl-S. The full-resolution pass runs the same code the preview ran, so the file matches the panel you approved.
What survives
Formats in, formats out
JPG, PNG, WebP, AVIF, GIF, BMP, TIFF and ICO are opened wherever the browser can decode them, and HEIC is opened through a WebAssembly codec that is fetched only when a HEIC is actually chosen. Writing is narrower than reading: a browser can produce JPEG, PNG and WebP and nothing else. The export therefore keeps your container when it is one of those three, and falls back to PNG when it is not, which is lossless but larger and honestly a different kind of file from the one you opened.
Colour is untouched. An embedded ICC profile is copied into the export as it was, because geometry has no bearing on colour. A CMYK JPEG is converted by the browser’s own decoder before this tool sees it, so its export is an RGB file; what the colours look like after that conversion depends on the browser.
- A reflected photograph is no longer a record of the scene. Watches change wrists, hair partings change sides, buttoning changes hand, signage becomes unreadable and every registration plate in shot becomes wrong. That is fine for a design and unacceptable for anything evidential, and nothing on this page can tell which one you are doing.
- Writing a JPEG back costs a generation. The reflection is exact; the container is not. A JPEG has to be compressed again on the way out, and that is a real, if small, loss on top of whatever the file already carried. The tag route avoids it by changing only the file's orientation field, at the cost of relying on the viewer to honour that field. Flipping the compressed blocks themselves is not built here yet, and a re-encode is never called lossless on this site.
- Animation is read one frame deep. An animated GIF or WebP opens as its first frame and saves as a still. Reflecting every frame and re-encoding the animation is a separate job with its own colour cost, and it is not in this build.
- A WebP export carries no metadata. Moving EXIF and an ICC profile into a WebP means writing an extended-format header around a stream the browser produced. A half-correct one is worse than an admitted gap, so WebP exports come out clean and the control says so before you press save.
The boundary
What this workspace does and does not do
Everything here is a reflection or a composition of reflections. The workspace flips on either axis or both, and turns in quarter steps into any of the eight orientations a rectangle can take — the turns that combine exactly with a mirror, so nothing is resampled. It mirrors one half onto the other with a movable line, casts a reflection off any edge, folds a picture into a four-way or diagonal kaleidoscope, and sets the original beside its own mirror in one file. A folder of up to fifty files gets the same engine.
Some neighbouring jobs are not offered. Turning by an arbitrary angle, levelling against a horizon and cropping are different operations with different costs. Blending a reflection back into the original sample by sample is a double exposure, not a mirror. And reversing the lettering in a photograph while leaving everything else alone is not possible for a plain reason: by the time the decoder has finished there is no text layer left to reverse, only pixels that used to be one.
Asked often
Common questions
- Does flipping an image lose quality?
- The flip itself does not: it moves the decoded samples and computes nothing, and a PNG export holds exactly those values. A JPEG is written one of two ways — re-encoded, which is a second generation of compression with a size shown before you save, or by the tag route, which writes the flip into the file's orientation field and copies the compressed picture data untouched, so nothing is lost but a viewer that ignores EXIF orientation shows it unflipped.
- Is flipping both axes the same as turning the picture 180 degrees?
- The grids match. Reflect left to right, then top to bottom, and every sample lands where a half turn would have put it. They are still different operations with different names, different inverses and different behaviour on anything that is not a rectangle. Both are available here: the reflection with the B key, the half turn with the Turn control, and the status line says which one was applied.
- Why is the text in my picture backwards now?
- Because a reflection reverses reading order along the axis you chose. That is the intended result when the file is going onto transfer paper, where the press flips it back, and it is a defect everywhere else. There is no way to reflect a photograph and keep the lettering forwards: the letters are pixels like everything else.
- Is the picture uploaded anywhere?
- No. The file is read by the browser, decoded into memory, redrawn onto a canvas and handed back to you as a download. There is no server behind this page to send it to; the site is a static export with no interface that accepts a file.
- Can I flip a folder of files in one go?
- Yes. Open several files at once, by dropping them together or selecting them in the picker, and the page becomes a folder surface instead of a bench. It is not a loop over the same button: each picture is measured for lettering a reflection would reverse, so a receipt or a shopfront among the holiday photographs can be held back rather than quietly ruined, and the reflection is composed onto each file's own orientation tag so a set gathered off a phone, a scanner and a chat app comes out the same way round. Where a JPEG allows it the mirror is written into the orientation field alone and the compressed picture data is copied untouched, which every row reports as a byte comparison rather than a claim. The results come back as one ZIP or file by file.
- Does the export keep the date, the camera and the GPS tag?
- By default, yes, for a JPEG saved as a JPEG and a PNG saved as a PNG. A reflection invalidates exactly one field, the orientation flag, so that one is reset and the rest is copied across untouched. If the location data is the reason you are here, switch the metadata control to strip everything before saving.
Elsewhere on this site
- Reflect left to right
The reversal people mean when they say flip, and the one that breaks lettering.
- Reflect top to bottom
Rarer, more often confused with a turn, and worth its own page.
- Mirror one half
A movable line, a feathered join, and a frank note about faces.
- Mirror for a transfer
Which printing methods need reversed artwork and which undo it for you.
- Mirror a selfie
As saved or as you saw it: both side by side, and the phone setting that decides.
- Batch flip images
Up to fifty files, each by its own orientation, lettering held back on request.
- The reference pages
The written pages behind the tool.
- Mirrored or turned
Two matrices that meet in one place and nowhere else.
- Printing a mirrored image
Which presses reverse the artwork themselves, and which expect you to.
- Why your selfie is reversed
What the front camera shows you, and what it saved.