







Usually image color reduction is done in two independent phases: first a color quantization algorithm finds a palette, which is then used by a pixel mapping phase to assign every output pixel a color from the palette. Ignoring any possible dithering for now, the chosen palette color is the one with the shortest Euclidean distance to the original pixel color. But if we know both the old and new colors for each pixel, it’s possible to refine the palette.
CuspHanger — palettes from intuitive parameters
Sequential and diverging OKLCH palettes from a few intuitive parameters — the Wijffelaars et al. 2009 model, in-gamut by construction, for sRGB and Display-P3.

Color Palette Pro — A Synthesizer for Color Palettes
Generate customizable color palettes in advanced color spaces that can be easily shared, downloaded, or exported.

Color Palette Pro — A Synthesizer for Color Palettes
Generate customizable color palettes in advanced color spaces that can be easily shared, downloaded, or exported.

Ray Color
Generative color palettes from a raytraced scene — edit the conditions, not the colors.



Color Hunt - Color Palettes for Designers and Artists
Discover the newest hand-picked color palettes of Color Hunt. Get color inspiration for your design and art projects.

loukesio/ltc-color-palettes
"ltc_palettes: Tailored for data visualization enthusiasts, ltc_palettes is an R package that offers a curated collection of color palettes. Crafted to enhance clarity and impact, these palettes ensure that your visual representations not only communicate data effectively but also aesthetically

Flat UI Colors 2 - 14 Color Palettes, 280 colors 🎨
280 handpicked colors ready for COPY & PASTE

The Color System I Wish I Understood Sooner
Does your system for naming colors always feel like it falls short? This two-layer approach solves so many problems!


color-space — every color space, one tiny API, verified
An open collection of color spaces. Convert any space to any other with conventional ranges and independently anchored formulas.

nutelch — cusp explorer
NUTELCH measures chroma relative to the gamut shell — the cusp — in OKLCH and LCH. You ask for a fraction of the way to the boundary (relC) instead of an absolute chroma, so “saturation” means the same thing at every lightness and hue and never accidentally lands out of gamut, while the result stays a native oklch() / lch() color. It's dependency-free and LUT-backed: the boundaries are precomputed, so lookups are fast. nutelch on GitHub →
Rampa — A color toolkit for AI agents and humans
One tool generates palettes, analyzes contrast, mixes colors, and exports to any format. No plugins, no dependencies.
