Rotate Image
The 90-degree node with no surprises
- image
- IMAGE
The most honest node in the image/transform category: one image in, one rotation dropdown, one image out. No sliders, no seams, no quality settings, because there's nothing to tune. It rotates in exact 90-degree steps, which means it's a pure pixel rearrangement - zero interpolation, zero quality loss, instant.
It's a core built-in (part of the newer generation of base nodes, alongside the flip and crop V2 siblings). Nothing to install.
How it works
The rotation combo offers none, 90 degrees, 180 degrees, 270 degrees. Under the hood it's a tensor rotation - pixels are moved, not resampled. That's why there's no "quality" setting: a 90-degree turn can't blur anything the way an arbitrary-angle rotate would. The canvas dimensions swap accordingly (a 1920×1080 image at 90 degrees becomes 1080×1920, same pixel count), and the image stays in the same 0–1 float range ComfyUI uses internally, so it plugs straight back into any IMAGE input.
That's the whole schema: image in, rotation combo, IMAGE out. The none option is just "leave it alone" - handy when you want to toggle rotation off without rewiring the graph.
Why you'd reach for it
- Phone photos. Cameras and phones insist on storing EXIF orientation that some pipelines ignore, so reference images come in sideways. One 90-degree fix and done.
- Repairing a mis-rotated generation - you ran a portrait prompt and the sampler gave you a landscape orientation; rotate it to the intended layout before it goes anywhere.
- Portrait → landscape or back as a composition step before outpainting. Rotate, pad, generate, rotate back - it's the cheap way to make a square model see a wide scene.
- Data augmentation - rotating training samples by 90/180/270 is free, lossless variety for a dataset prep pipeline.
It's the sort of node you don't notice until you need it, and then you need it constantly.
The limits (and they're real)
- Only 90-degree steps. There is no arbitrary angle, no "rotate 15 degrees to straighten that horizon." For that you need a warp/perspective node from a custom pack - ComfyUI core doesn't ship an arbitrary-angle image rotation. If you genuinely need 15 degrees, this node is not the tool.
- No auto-fill. A 90-degree turn changes which dimension is which, and there's no canvas growth, no scaling to compensate, no "fit." The image is simply transposed. That's usually exactly what you want, but it means rotation is never a no-op on aspect.
- It's not a flip. There's a separate Flip Image node for mirroring. People search "rotate" for mirror effects and end up here confused.
- Multiple of 90 stays latent-safe. Because the pixel count never changes, a rotated image that was a good size for your VAE is still a good size afterward. One less thing to check.
Small, lossless, and boring in the best way. If you need straight-up 90-degree turns, there's genuinely nothing else to configure.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| rotation | COMBO | 4 options: none, 90 degrees, 180 degrees, 270 degrees |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |