OKLCH Color Picker
Pick colors in OKLCH with lightness, chroma and hue sliders, check the sRGB gamut and get HEX and rgb() fallbacks. Runs entirely in your browser. Nothing is sent to any server.
CSS with fallback
color: #2563eb; color: oklch(54.6% 0.215 262.9);
What is OKLCH?
OKLCH is a way to describe colors by lightness (L), chroma (C, how colorful it is) and hue (H, the angle on the color wheel), built on the OKLab color space so that equal changes look equally different to the eye. Unlike HSL, two colors with the same L really look equally light, which makes palettes, hover states and accessible contrast much easier to reason about. CSS supports it as oklch(), and it can describe colors beyond the sRGB range of most screens. This picker lets you set L, C and H with sliders, warns when a color falls outside sRGB, and gives you HEX and rgb() fallbacks.
Examples
Using OKLCH colors in CSS and code:
/* older browsers keep the HEX line */
.button {
background: #2563eb;
background: oklch(54.6% 0.215 262.9);
}/* same lightness, different hue: an even, predictable palette */
--blue: oklch(65% 0.15 250);
--green: oklch(65% 0.15 150);
--orange: oklch(65% 0.15 60);@supports (color: oklch(0% 0 0)) {
:root { --accent: oklch(70% 0.25 150); }
}// OKLCH to OKLab, the first step of converting to sRGB
const a = c * Math.cos((h * Math.PI) / 180);
const b = c * Math.sin((h * Math.PI) / 180);Use Cases
Building consistent palettes
Keep lightness and chroma fixed and change only the hue to get a set of colors that look equally bright, something HSL can't do reliably.
Hover and pressed states
Lower L by a few points for a darker state without the hue shifting, which often happens when darkening in HSL.
Wide-gamut colors
Design vivid colors for P3 displays in oklch() and ship a safe HEX fallback for screens and browsers that can't show them.
Migrating a codebase to modern CSS
Convert existing HEX values to oklch() one by one and keep the original as the fallback line.