Skip to content

Posterize ​

Reduces image colors to a fixed number of discrete levels, creating a flat graphic look.

Category: Effects Menu path: Effects > Posterize

Ports ​

PortTypeDirectionDescription
inimageRgba16finputInput image
outimageRgba16foutputPosterized result

Parameters ​

ParamTypeDefaultDescription
levelsscalar8Number of discrete color levels per channel. Minimum 2. Higher values produce subtler quantization. Keyframeable.

Expose Channels ​

When enabled (E button on node header), adds input ports that override params via edge connections:

PortTypeOverrides
levels_inscalarlevels

How It Works ​

Each color channel is independently quantized to the specified number of levels. The shader unpremultiplies alpha, applies floor(rgb * levels) / (levels - 1) to snap each channel to the nearest step, then repremultiplies. At 2 levels, the image becomes pure black and white per channel. At higher levels (16+), the effect becomes increasingly subtle.

Usage Examples ​

Basic: Flat graphic look ​

  1. Add a Posterize node after your image source
  2. Set levels to 4 for a bold, screen-print aesthetic
  3. Combine with a Blur node upstream for smoother color bands

Creative: Animated level reduction ​

  1. Connect a Time node to levels_in via expose channels
  2. Use a Math node to remap time from 2 to 32
  3. The image progressively gains color fidelity over time

Tips ​

  • Very low values (2-4) create bold graphic effects; values above 16 are barely noticeable
  • Apply Blur before Posterize to reduce noise and create cleaner color bands
  • Works well with Colorize downstream to remap the quantized values to a custom palette
  • Threshold -- binary black/white cutoff (posterize with 2 levels + smoothness)
  • Colorize -- remap scalar values through a color ramp
  • Levels -- continuous tone remapping without quantization