Color Palette Generator
Generate beautiful, harmonious color palettes with one click
Tip: Click colors to copy hex code. Click the lock icon to freeze colors while generating.
How to use this tool
Pick a base color
Use the color picker or type a hex code directly. This is the starting point β all other colors in the palette are derived from it. Click π² to pick a random base color instantly.
Choose a harmony mode
The harmony mode controls how the other colors are chosen relative to the base:
- Complementary β opposite hues, high contrast
- Analogous β neighboring hues, cohesive feel
- Triadic β three evenly spaced hues, vibrant
- Monochromatic β same hue, varying lightness
- Split-complementary β softer version of complementary
- Random β well-spread hues, good for exploration
Lock colors you like
Hover a color card and click the lock icon to freeze that color. Locked colors are kept when you change the base color or harmony mode β useful for iterating around one or two colors you already like. Use Lock All / Unlock All for bulk control. Randomize All clears all locks and picks a fresh random base color.
Copy individual colors
Click anywhere on a color swatch or press Copy Hex on a card to copy that color's hex code to your clipboard.
Export the full palette
Use the export buttons to copy the entire palette in your preferred format:
- CSS Variables β ready to paste into any stylesheet
- Tailwind Config β drop into your
tailwind.config - JSON β for design tokens or custom tooling
Check contrast
Each color card shows its contrast ratio against both white and black text. A ratio of 4.5:1 or higher passes the WCAG AA standard for readable body text β the minimum required for accessible interfaces.
Under the hood: colors are generated in the OKLCH color space rather than the more common HSL. OKLCH is perceptually uniform β colors with the same lightness value genuinely look the same brightness to the human eye, regardless of hue. This produces more balanced, professional-looking palettes compared to tools that work in HSL.