RaveToolsOKLCH Picker

OKLCH Color Picker

Pick a color in perceptually-uniform OKLCH, generate a Tailwind v4 palette, and export it. 100% local - runs entirely in your browser.

#9269E4
oklch(62.0% 0.180 296.0)
62.0%
0.180
296.0°
sRGB: in gamutDisplay-P3: in gamut

Values

OKLCH
oklch(62.0% 0.180 296.0)
HEX
#9269E4
RGB
rgb(146 105 228)

Contrast (this color as text)

Aa on whiteWCAG 3.92:1
AA AAA
APCA Lc 66
Aa on blackWCAG 5.36:1
AA AAA
APCA Lc 35

Tonal palette

Tailwind steps · same hue

Export

@theme {
  --color-brand-50: oklch(97.0% 0.123 296.0);
  --color-brand-100: oklch(94.0% 0.128 296.0);
  --color-brand-200: oklch(88.0% 0.138 296.0);
  --color-brand-300: oklch(80.0% 0.151 296.0);
  --color-brand-400: oklch(70.0% 0.167 296.0);
  --color-brand-500: oklch(62.0% 0.180 296.0);
  --color-brand-600: oklch(54.0% 0.167 296.0);
  --color-brand-700: oklch(46.0% 0.154 296.0);
  --color-brand-800: oklch(38.0% 0.141 296.0);
  --color-brand-900: oklch(30.0% 0.128 296.0);
  --color-brand-950: oklch(22.0% 0.115 296.0);
}

About

OKLCH is a perceptually-uniform color space built on three intuitive axes - Lightness, Chroma, and Hue. Unlike HSL or RGB, an equal step in OKLCH lightness looks equally different to the human eye, which is exactly why Tailwind CSS v4 moved its default palette to native oklch() values.

Drag the L, C and H sliders to dial in a color and watch the live preview, hex and RGB readouts update instantly, flagging whether it fits inside the sRGB or wider Display-P3 gamut. From any base color it generates a full tonal scale across the Tailwind steps (50-950), ready to export as CSS variables or a Tailwind v4 @theme block, alongside WCAG 2.1 and APCA contrast readouts.

Everything runs 100% in your browser - no upload, no account, no tracking.

Named colors in OKLCH

See any named color as OKLCH, HEX and RGB, with a ready Tailwind v4 palette.

Frequently Asked Questions

About the OKLCH Color Picker.

OKLCH is a perceptually uniform color space defined by Lightness, Chroma, and Hue. Unlike HSL or RGB, equal numeric changes in OKLCH lightness look equally different to the human eye, and changing the hue does not unexpectedly shift perceived brightness. This makes it ideal for building consistent tonal palettes and accessible color systems.

No. This OKLCH color picker runs entirely in your browser. All conversions, gamut checks, palette generation, and exports happen locally in JavaScript - nothing is uploaded, logged, or transmitted anywhere.

A gamut is the range of colors a display can actually show. OKLCH can describe colors that are more saturated than a screen can render. When a color is out of the sRGB gamut, most standard monitors cannot display it exactly; Display-P3 is a wider gamut available on many modern screens. The tool flags when your color exceeds each gamut so you know it will be clamped on those displays.

Tailwind v4 uses native CSS color tokens, so you can paste the generated @theme block straight into your CSS. Each step becomes a --color-<name>-<step> token (e.g. --color-brand-500) that Tailwind exposes as utilities like bg-brand-500 and text-brand-700. The tool outputs the values as oklch() so they stay perceptually uniform.

The palette keeps your base hue fixed and sweeps lightness across the standard Tailwind steps (50–950). Chroma is gently reduced toward the lightest and darkest ends so the ramp stays natural and in-gamut, instead of getting muddy or clipping. The result is an even, accessible scale built around your chosen color.

They estimate how readable text would be in your color against black and white. WCAG 2.1 gives the classic contrast ratio (AA needs 4.5:1 for normal text) and is still the standard you comply with today. APCA is a newer, perceptually-tuned method that was explored for WCAG 3 but removed from the working draft in 2023, so WCAG 3 has not settled on a contrast algorithm yet - treat APCA as a helpful preview, not an official requirement. Use both to check whether a palette step works as a text or background color before shipping it.

Yes. The current color is encoded in the page URL, so copying the link preserves your exact L, C, and H values. Anyone who opens it lands on the same color and generated palette - no account or save step required.