PK Systems PK Systems
Color tools

Color Palette Generator

Generate beautiful 5-color palettes that actually look good — curated seeds, smart harmony rules, lock and re-roll.

Color Palette Generator

Press Space to re-roll. Lock any color to keep it.

CSS variables


    

What this generator does

Rolls a five-color palette that's actually usable — not the chaotic noise you get from a pure random RGB roll. It picks from a curated pool of designer-tested seed palettes about two-thirds of the time, and the rest are built algorithmically using harmony rules (analogous, triadic, split-complementary, tetradic, complementary-with-neutrals) with saturation and lightness ranges tuned per mood. Pick a mood — warm, cool, pastel, vibrant, earth, monochrome, or auto — to bias the output toward a specific feel. Lock any color to keep it across re-rolls; unlocked slots are replaced each time.

How to use the generator

Pick a mood (or leave it on Auto for a mix). Hit Generate or just press Space to roll a new palette. Click any hex code to copy it to your clipboard. Click the lock icon on a color you want to keep, then re-roll to replace the others. Use Copy CSS to grab a ready-to-paste :root block of custom properties, or Copy JSON for an array of hex strings to drop into a config file or design-token export.

What makes a palette feel intentional

Five colors is the sweet spot — enough variety for primary / secondary / accent / light neutral / dark neutral, but not so many that nothing dominates. Within those five, plan a hierarchy: one dominant color carries 60% of the layout, a secondary takes 30%, and the remaining three split the last 10%. The Auto mood is great for ideation; Earth and Pastel work well for editorial and wellness brands; Vibrant for kids' products, gaming, and call-to-action-heavy landing pages; Monochrome when you want a single-hue ramp.

When each mood works

Auto — best mix of curated seeds and algorithmic schemes; the right starting point if you don't know what you want yet. Warm — sunset palettes, food brands, energy-and-warmth campaigns. Cool — fintech, SaaS, anything that should feel calm and trustworthy. Pastel — children's products, beauty brands, soft hero sections. Vibrant — gaming, music, anything that should grab attention. Earth — outdoor, sustainability, agriculture, real-estate. Monochrome — minimalist editorial, single-color brand systems, accessible design.

Frequently asked questions

Why don't the colors look completely random?
Because pure random RGB looks awful — clashing hues, muddy mid-tones, no hierarchy. We pull about two-thirds of palettes from a curated pool of designer-approved seeds (with small hue jitter so you don't see the same five colors twice in a row). The other third are built with harmony rules and saturation/lightness ranges that have been tested for usability. The result still feels random, but every roll is something you could ship.
Can I lock a color and reroll the rest?
Yes. Click the lock icon on any color to freeze it. Locked colors are kept across re-rolls; unlocked slots get fresh colors. This is the workflow most designers use: keep your brand color locked and reroll the surrounding four until something clicks.
Will the palettes work for accessibility (WCAG)?
Not automatically — most rolled palettes contain at least one pair that fails WCAG when used as text-on-background. Use the result as a starting point, then check specific text/background combinations with our Contrast Checker tool. If a palette is for marketing imagery (not text), you have more flexibility.
How do I export to my design tool?
Copy CSS emits a :root { --color-1: #...; } block ready to paste into a stylesheet. Copy JSON emits an array of hex strings — useful for Figma plugins, design-token JSON, or any config file. For Tailwind, paste the JSON into your tailwind.config.js under theme.extend.colors.
What does "Monochrome" actually generate?
Five tones of the same hue — same H value, same S, with L stepped from 0.92 (very light) down to 0.18 (very dark). The result is a complete monochromatic ramp suitable for a single-color brand system or a neutral surface palette. Lock the middle color to your brand color, then re-roll to vary the saturation while keeping the same lightness shape.
Is anything sent to a server?
No. The seed pool, harmony math, and copy actions all run in your browser. Open DevTools → Network and re-roll — no requests fire. Roll palettes for unreleased products without leaking anything.