Palette colours

When [tool.pixel_linter.palette] is defined in the active config, every scanned .aseprite, PNG, and BMP file is compared against the allowed swatches. Pixels outside the set are reported with hex values and counts.

Aseprite files

For native .aseprite sources, the rule walks all layers and frames. RGBA and indexed colour modes are supported; in indexed mode the file's transparent colour index is skipped when include_transparent is true. Tilemap layers are checked tile by tile, including flipped tiles.

When a colour is out of palette, each line in the report includes the layer and frame index (zero-based) and the first (x,y) hit, so you can open the right cel without hunting through every frame.

When it runs

  • An ancestor directory provides pixelartlint.toml with a [tool.pixel_linter.palette] section.
  • The severity of the rule is set to "warn" or "error".

If no palette section exists, this rule is skipped for that file.

Transparent pixels

With include_transparent = true (the default), pixels where every channel is zero do not need to appear in colours. Set it to false when transparency must still match an explicit swatch entry.

Severity

One of off, warn or error.

Violations

PNG example
sprites/player/walk_03.png has invalid colours:
    #ff0033ff: 14 pixels (8,2)
Aseprite example
sprites/player/walk.aseprite has invalid colours:
    #ff0033ff: 3 pixels layer 1 frame 4 (5,12)

Setup

Use init to seed colours from an .aseprite file or reference image, or hand-edit pixelartlint.toml after importing a Lospec or studio palette list.