The machinery for the discipline at the heart of pixel art: working with a limited set of colors.
Kinds of palettes
| Kind | Stored in | Purpose |
|---|---|---|
| Tool-wide palettes | user_data/palettes/ |
Your personal color sets, available in every project |
| Project palettes | inside the .ppl |
Color sets owned by one project |
| Indexed-color palettes | same | Manage colors by number and swap them later in bulk |
| Procedural palettes | .pxprocpalette |
Color ramps generated from parameters |
The shared palette panel
The indexed color palette button in the left toolbar (Ctrl+Alt+P) opens the
shared palette panel.

- Switch between scopes ("project-wide", "indexed color") and pick the active palette
- Changing a numbered slot automatically re-evaluates every node that references that number — this is where post-production recoloring starts
- Full editing is also available under "Settings > Shared palettes"
Loading palette files
- The palette-load dialog starts in
user_data/palettes/ - With "Copy referenced files into the project" enabled, loaded palette files are
copied into
user_data/palettes/
Color nodes
color_rgb/color_hsv/color_oklch— create a color in each color space. The picker and channel values stay in sync both wayspalette_create/palette_get— build and reference palettes inside the graph
Choosing a color-adjustment node
- Brightness / contrast → the
brightnessfamily - Hue / saturation →
hsv_adjust - Gradient mapping →
gradient_map(maps lightness onto a color ramp — the classic way to color shading) - Tone curve / auto levels →
tone_curve/auto_levels