Image Flip
Mirror or flip an image in ComfyUI
- image
- IMAGE
JWImageFlip flips an image horizontally or vertically. That's it - mirror it left-to-right, or turn it upside down. A tiny node, but a genuinely useful one to have wired into a graph rather than doing it by hand in an image editor.
The most common reason to flip inside a workflow is a mirror for composition or data augmentation. Horizontal flip is the classic: it gives you the same content facing the other way, which is handy for balancing a layout, generating a mirrored variant, or feeding a flipped copy into a batch. Vertical flip is rarer but shows up when you're correcting orientation, building reflections, or preprocessing something that came in upside down. Because it's a node, the flip happens live in the pipeline - no round-trip through Photoshop, no re-import.
What it actually does
It reads your IMAGE and reverses it along one axis. Horizontal mirrors left and right (the usual "flip" people mean). Vertical mirrors top and bottom, flipping it upside down. The pixels are untouched otherwise - same resolution, same colors, just reordered. It works on a batch too, so a stack of frames all get flipped the same way.
The inputs and outputs that matter
image(IMAGE) - the image (or batch) to flip.direction- an enum with two choices:horizontal(default) orvertical. Horizontal is the left-right mirror; vertical turns it upside down.
Output is a single IMAGE, flipped. Wire it wherever the original would've gone - into a sampler, a save node, a batch, or a ControlNet preprocessor.
How to install it
The pack is jamesWalker55/comfyui-various. Easiest is ComfyUI Manager - search the pack title Various ComfyUI Nodes by Type, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/jamesWalker55/comfyui-various
then restart. No dependencies - it's plain tensor manipulation. If you only want the image utilities and not the whole pack, JWImageFlip lives in comfyui_image_ops.py, and the author actively recommends dropping just that single file into custom_nodes/ to keep your node list from ballooning.
Common issues & troubleshooting
Horizontal vs. vertical mix-up. "Flip" colloquially means the horizontal mirror, but the node lets you pick either. If your image came out upside down when you wanted a mirror, you've got direction set to vertical - switch it to horizontal.
It's a flip, not a rotate. A horizontal flip mirrors the image (left becomes right); it does not rotate it 90°. If you were after rotation, this isn't the node - flipping and rotating are different operations and JWImageFlip only does the former.
Faces and text. A horizontal flip reverses everything, so any text in the image becomes mirror-writing and asymmetric faces swap sides. That's expected behavior, not a bug - just something to keep in mind before you flip a portrait or a signboard.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| direction | COMBO | horizontal | 2 options: horizontal, vertical |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |