ComfyUI Node

Pixel Art Node

Turn any render into a retro sprite

By GENKAIx·Created 2 years ago·Updated 2 years ago· 14
Pixel Art Node
  • image
  • IMAGE
num_colors16
pixel_size10

You generated a nice clean SDXL or Flux image and now you want it to look like it belongs in a SNES cartridge. That's what this node is for. It's a one-stop quantization filter: feed it any image and it chunks it down into blocky "pixels" with a limited color palette, which is the two things that actually make something read as pixel art rather than just a small, blurry photo.

This is a real workflow people build, not a novelty - folks routinely run an SDXL or Flux generation straight into a pixel-art post-process to get game-ready sprites and portraits, because prompting a diffusion model to look pixelated on its own is unreliable and the results rarely have a clean, consistent palette. Doing the pixelation as a deterministic filter afterward gives you a repeatable look instead of a coin flip.

How it works

Two classic pixel-art tricks live inside this one node. First, it chunks the image into blocks sized by pixel_size and flattens each block to a single color - that's what gives you the blocky, stair-stepped look instead of smooth gradients. Second, it quantizes the color space down to num_colors, merging similar shades into a shared, limited palette. Do both together and a photo-realistic render suddenly reads as sprite art; do just one and you get either a smeared low-res photo (chunking without palette reduction) or a full-resolution image with weirdly banded colors (palette reduction without chunking).

The inputs that matter

  • image (IMAGE) - whatever you want pixel-arted. Works on anything, not just AI output - a photo, a screenshot, doesn't matter.
  • num_colors (INT, default 16, range 2–256) - the size of the palette. Genuine 8-bit/16-bit game sprites typically sat in the 4–32 range, so that's a good starting window. Go too high (past 100 or so) and you lose the "limited palette" look that makes pixel art read as pixel art in the first place; the image just looks like a slightly posterized photo.
  • pixel_size (INT, default 10, range 1–100) - how big each flattened block is. Bigger number, chunkier pixels, more detail lost. On a normal-sized generation, values in the 4–16 range tend to hold recognizable shapes; crank it toward 100 and you'll blow past "retro" straight into "abstract color blocks."

Output is a single IMAGE - the pixelated result, ready to save, preview, or feed into the pack's other node (Pixel Art Downscaling) if you want to resize it while keeping the crisp edges. One thing worth flagging: the pack's own README describes this node as also producing a color-palette output, but as it's actually wired up in ComfyUI, there's only the one IMAGE slot. Don't go looking for a second output - it's not there.

Installing it

Two ways in:

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

That manual step is worth reading twice - this isn't a "clone straight into custom_nodes" repo like most packs. The actual node code lives one level down, in a pixelart_processing subfolder, alongside the README and license. If you just git clone the whole thing directly into custom_nodes/, ComfyUI will load a wrapper folder that doesn't contain the nodes at its top level, and you'll restart to find nothing new in your node list. Grab the inner folder.

No models to download and no heavyweight dependencies - this is plain image processing (the README calls it GPU-accelerated), so once it's installed correctly it just works.

Common issues

Node doesn't show up after install. Almost always the nested-folder trap above - check that ComfyUI/custom_nodes/pixelart_processing/ exists directly (not ComfyUI/custom_nodes/PixelArt-Processing-Nodes-for-ComfyUI/pixelart_processing/), then restart. Also double-check you're browsing to Image → Effects in the node menu, not Image → Processing - that's where the pack's other node lives, and it's easy to look in the wrong category and assume the install failed.

Result looks nothing like pixel art, just blurry. You probably left pixel_size too low relative to your image resolution, or num_colors too high. Push pixel_size up and num_colors down until the blocks and the limited palette are both doing visible work - it's the combination that sells the effect, not either setting alone.

CategoryImage/Effects

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
num_colorsINT162–256
pixel_sizeINT101–100

Outputs (1)

NameTypeDescription
IMAGEIMAGE