Resize Image With Resolution
One number, aspect ratio kept
- image
- IMAGE
You have an image and you want it at a target size, but you don't want to do the aspect-ratio math yourself. That's the whole job here. You feed it one number - a target resolution - and it scales the image to hit that size while keeping the proportions intact. No stretching, no squashing, no working out that a 1344×768 image needs to become 896×512.
It's the kind of node you don't think about until you're wiring up a batch where every input arrives at a different size and the sampler downstream wants something consistent. Load an image, drop this in front of your VAE encode or your preprocessor, and everything after it is working from a predictable scale.
How it works
Under the hood it's a plain interpolated resize - the same Pillow resampling every image tool uses. Think of resolution as the size it's aiming for, and it scales both dimensions proportionally to land there. Because it's interpolation and not a diffusion or ESRGAN pass, going up in size won't invent detail; it'll just make the existing pixels bigger and softer. For genuine upscaling with new detail you want a model upscaler (see the wider upscaling story) - this is for fitting, not enhancing.
The inputs that matter
Three inputs, and only two need a thought:
- resolution (default 512) - the target size. Set it to whatever your pipeline expects downstream, 1024 for SDXL-era work, 512 if you're staying old-school.
- method -
NEAREST,LANCZOS, orBICUBIC. This is the one people ignore and shouldn't.LANCZOSis the sharpest for shrinking a photo and is the sane default.BICUBICis smoother and a touch softer.NEARESTkeeps hard pixel edges with no blending - you want it for masks, pixel art, or anything where a blurred edge would be wrong, and nowhere else.
The image input is just your image. The output is a single IMAGE you wire straight into whatever comes next.
Where it fits
This is the "normalize my inputs" node. If you're building anything that takes arbitrary user images - an img2img front end, a ControlNet preprocessor chain, a tagging/captioning batch - dropping one of these near the start means the rest of the graph stops caring how big the original was. If you specifically want to resize only when an image is too small or too big, the pack has ResizeImageResolutionIfSmaller and ...IfBigger siblings that skip the work when it isn't needed.
Installing ComfyUI-LogicUtils
ComfyUI Manager is the easy path: Install Custom Nodes → search "ComfyUI-LogicUtils" → install → restart. Manual works fine too:
cd ComfyUI/custom_nodes
git clone https://github.com/aria1th/ComfyUI-LogicUtils
Then restart ComfyUI. Most of this pack is pure Python with no extra dependencies, and this resize node is one of the zero-dependency ones - nothing to download, nothing to break.
Worth knowing
The pack comes from aria1th (AngelBottomless), the trainer behind the Illustrious XL models - so it's a real practitioner's grab-bag of utilities, not a polished product. The README is basically a shrug ("too many nodes" to document), and the pack is one person's work that last saw a push in early 2026. None of that matters for a resize node this simple, but it's the reason you won't find deep docs anywhere: the node does exactly what the name says, and the name is the documentation.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| resolution | INT | 512 | — |
| method | COMBO | 3 options: NEAREST, LANCZOS, BICUBIC |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |