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