Create stunning color palettes with harmony rules, accessibility checks, and live UI previews. Press Space to generate.
#4F46E5
Blue
Primary
#7C3AED
Purple
Secondary
#06B6D4
Teal
Accent
#374151
Dark Muted Blue
Neutral
#F8FAFC
Near White
Surface
— | Fail1.1 | Fail2.6 | Fail1.6 | AA6.0 | |
Fail1.1 | — | Fail2.3 | Fail1.8 | AA5.4 | |
Fail2.6 | Fail2.3 | — | AA-L4.2 | Fail2.3 | |
Fail1.6 | Fail1.8 | AA-L4.2 | — | AAA9.9 | |
AA6.0 | AA5.4 | Fail2.3 | AAA9.9 | — |
Buttons
Alerts
Card
Badges
Chart Colors
Primary
Secondary
Accent
Neutral
Surface
module.exports = {
theme: {
extend: {
colors: {
'primary': {
'50': '#f2f4ff',
'100': '#e6eaff',
'200': '#c5ceff',
'300': '#99a5ff',
'400': '#757eff',
'500': '#5854f2',
'600': '#4230cf',
'700': '#2e03a5',
'800': '#190069',
'900': '#0c0041',
'950': '#040023',
},
'secondary': {
'50': '#f5f3ff',
'100': '#ebe8ff',
'200': '#d2c8ff',
'300': '#b29bff',
'400': '#986eff',
'500': '#7e3fef',
'600': '#630bcc',
'700': '#450093',
'800': '#29005c',
'900': '#160039',
'950': '#08001e',
},
'accent': {
'50': '#e4faff',
'100': '#c8f4ff',
'200': '#8ee0f4',
'300': '#52bfd7',
'400': '#00a0bb',
'500': '#007f95',
'600': '#006071',
'700': '#00424f',
'800': '#00272f',
'900': '#00151b',
'950': '#00070b',
},
'neutral': {
'50': '#f0f6ff',
'100': '#e5ecf6',
'200': '#c9d2df',
'300': '#a5afbe',
'400': '#8590a1',
'500': '#677284',
'600': '#4b5666',
'700': '#323b4a',
'800': '#1a222e',
'900': '#0c121c',
'950': '#03060d',
},
'surface': {
'50': '#f4f5f6',
'100': '#eaebec',
'200': '#d0d1d2',
'300': '#acaeb0',
'400': '#8e8f91',
'500': '#707273',
'600': '#545557',
'700': '#393b3c',
'800': '#212223',
'900': '#111213',
'950': '#050606',
},
}
}
}
}69/100
Good, minor improvements possible
Range: 61% (37–98%)
4/10 pairs meet 3:1+ ratio (40%)
Min distance: 0.110, Avg: 0.649
Has both neutral and vibrant tones
Missing: background, foreground
Token Preview
Colors applied to their semantic roles
Light
Dark
Normal vision
Deuteranopia (~5% males)
Colors that may appear indistinguishable:
~8% of men and ~0.5% of women have color vision deficiency. Ensure your palette remains distinguishable.
Colors opposite on the color wheel. Creates high contrast and visual tension — perfect for CTAs and accent elements.
Adjacent colors on the wheel. Creates harmonious, cohesive palettes ideal for backgrounds and subtle gradients.
Three equally-spaced colors. Balanced yet vibrant — great for playful interfaces and creative brands.
Single hue with varying lightness. Elegant and safe — ideal for minimalist designs and professional interfaces.
A base color plus two colors adjacent to its complement. Provides contrast with less tension than full complementary.
Our generator uses OKLCH for perceptual uniformity — equal lightness steps appear equally bright across all hues, unlike HSL.
Between 2 and 10 colors. The default is 5, which covers primary, secondary, accent, neutral, and surface roles for most design systems.
Yes. Each palette generates a unique URL that you can share with colleagues or bookmark for later. The colors are encoded directly in the URL.
Our generator uses the perceptually uniform OKLCH color space, provides real-time UI mockup previews, includes an accessibility contrast matrix, offers 10+ export formats including W3C Design Tokens, and provides palette intelligence analysis — all in one free tool.
No. Everything works without login. Palettes are saved locally in your browser and can be shared via URL.
Yes. The live preview panel lets you toggle between light and dark themes to see how your palette performs in both contexts.