Palette
Brand, neutral and four status colors derived from one source in OKLCH.
Palette generatorScales, semantic roles and contrast-checked light and dark themes — calculated in your browser, delivered as CSS, Tailwind v4 or shadcn.
Start from a brand color Open the converterLocal calculations. No color uploads.6 families · 11 steps · OKLCHbrandneutralsuccesswarningdangerinfoLight · 13/13 passed · button text 5.17:1
Dark · 13/13 passed · button text 5.17:1
Choose a color once. Palettes, scales, contrast checks, themes and code update from that one source — and locked colors stay exactly where you put them.
Brand, neutral and four status colors derived from one source in OKLCH.
Palette generator5 to 21 steps per family, four curves, hue shift and contrast targets.
Shade generator2.72:1fails4.51:1AAWCAG 2.2 and APCA for any pair, plus the nearest passing color at the same hue.
Contrast checkerLight and dark tokens from the same palette, each checked across 13 role pairs.
Theme generator--primary: #2563EB--primary-foreground: #FFFFFF--ring: #2563EBCSS variables, Tailwind v4 and shadcn theme CSS are free. Structured formats are Pro.
Export panelThe brand source is kept as its own token. Text, borders, focus rings and status colors are adjusted per mode, then checked as real role pairs.
brand #2563EB · preserved
Example interface
Keep your brand. Make every interaction readable.
Your changes are ready.
Light · 13/13 passed · button text 5.17:1
17.35:118.12:14.63:1Example interface
Keep your brand. Make every interaction readable.
Your changes are ready.
Dark · 13/13 passed · button text 5.17:1
16.26:114.88:14.51:1Checks cover the listed color pairs, not complete website accessibility.
Preview, copy and download read the same project object, so what you check is what you ship.
Both color rows sweep the same 25 hues. Under each is that row converted to perceptual lightness.
How much brighter HSL yellow is than HSL blue at the same stated 50% lightness.
Lightness variation across the OKLCH row, so a 500 in teal weighs the same as a 500 in red.
Steps whose chroma had to be reduced to fit sRGB are flagged, never silently clipped.
hsl(h 100% 50%)0.452 → 0.968oklch(.72 .16 h)flat at 0.72Pro actions are labeled where they appear. Calculated results are never blurred or hidden behind them.
Calculations run in your browser. Guest projects stay local; account projects sync to the cloud and your other devices.
Nothing is deleted. Keep working in an editable project, back up your data, or view plans for more projects.
Checks cover the listed role pairs. APCA is shown as experimental guidance, not a WCAG verdict.
Paste CSS variables or JSON. Every parsed color is previewed before it is added, and locked colors are never overwritten.

Free, no sign-up, and no color uploads.
/workspace