Nodes/PixelArt Processing Nodes/Pixel Art Downscaling
ComfyUI Node

Pixel Art Downscaling

Resize pixel art without ComfyUI blurring the edges

By GENKAIx·Created 2 years ago·Updated 2 years ago· 14
Pixel Art Downscaling
  • image
  • IMAGE
scale_factor1.0
method

Despite the name, this node isn't downscale-only - it's a resize node built specifically for pixel art, and it goes both directions. The reason it exists: ComfyUI's general-purpose scale nodes are tuned for photographs, and a photo-friendly resize filter is exactly the wrong tool for a pixel-art image. Run a blocky sprite through a smoothing interpolator and you get soft, blurry pixel edges - which defeats the entire point of having crisp, chunky pixels. This node gives you a resize that actually respects the blocks.

It's the natural partner to this pack's other node, Pixel Art Node: pixelate first, then use this one to hit whatever final resolution you actually need - a small in-game sprite size, or blown up big for a wallpaper or a print - without ComfyUI re-blurring the work you just did.

How it works

The mechanism is a straight resize, controlled by two things: how much to scale by, and which filter to scale with. That second part is the whole reason to reach for this node instead of a generic one. Nearest-neighbor resizing just picks the closest source pixel for each output pixel - no blending, no new colors invented, so a hard block edge stays a hard block edge no matter how much you scale. It's the community's standard answer for pixel-perfect resizing, precisely because it "cannot invent" anything the way a smoothing filter does. Lanczos, by contrast, is a proper interpolation filter - good for photos, because it smooths transitions - but on pixel art it'll soften those crisp edges you built the image around. Pick nearest when you want the blocky look preserved; pick lanczos only if you actually want the result softened (photo-style resizing, not pixel art resizing).

The inputs that matter

  • image (IMAGE) - the image to resize. If you're chaining it after Pixel Art Node, this is that node's output; it also works standalone on any pixel art you've loaded from disk.
  • scale_factor (FLOAT, default 1, range 0.1–10) - the multiplier. Under 1 shrinks, over 1 enlarges, and the range genuinely goes both ways despite the node's name - you can scale a small sprite up to 10x for a clean, crisp mockup, or shrink something down to a tenth of its size.
  • method (choice of nearest or lanczos) - the filter. For anything you want to keep looking like pixel art, that's nearest. Reach for lanczos only when you actually want smoothing.

Output is a single IMAGE - the resized result.

Installing it

Same pack, same install path as Pixel Art Node:

  • ComfyUI Manager - search PixelArt Processing Nodes, install, restart.
  • Manual - clone https://github.com/GENKAIx/PixelArt-Processing-Nodes-for-ComfyUI, then copy the inner pixelart_processing folder (not the whole repo) into ComfyUI/custom_nodes/. Restart.

That folder-inside-a-folder structure trips people up regularly enough it's worth repeating: the nodes live in pixelart_processing/, one level in from the repo root. Clone the repo straight into custom_nodes/ without pulling that subfolder out, and you'll restart to find nothing changed. This node lands under Image → Processing in the node menu once it's actually installed right. No models to fetch, no extra dependencies - it's plain image processing.

Common issues

Result looks softer than expected. Check method. It's an easy field to leave on the wrong setting, especially if you're clicking through presets quickly - lanczos will blur exactly the edges you're trying to keep sharp. If crisp blocks matter, set it to nearest explicitly rather than trusting whatever it defaulted to.

Extreme scale_factor values look wrong. At the low end (down near 0.1) you're asking for a tenth of the original size, which on anything but a large source image can crush detail down past the point of being recognizable - there's only so much a handful of pixels can represent. At the high end, remember nearest-neighbor doesn't add detail when it enlarges; a 10x nearest upscale gives you bigger, cleaner blocks, not more information than was already there.

Nodes don't show up at all. Same root cause as the pack's other node - the manual install missed the pixelart_processing subfolder, or ComfyUI wasn't restarted after installing.

CategoryImage/Processing

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
scale_factorFLOAT1.00.1–10
methodCOMBO2 options: nearest, lanczos

Outputs (1)

NameTypeDescription
IMAGEIMAGE