Color Picker

Pick colors and convert between HEX, RGB, HSL, HSV, HWB, OKLCH, OKLab, Lab, LCH, Display P3 and CMYK, with WCAG and APCA contrast checking

⏳Loading...

Modern colour spaces

OKLCH: Lightness, chroma and hue in a perceptually uniform space. Two colours with the same L look equally bright no matter their hue, which is why Tailwind v4, shadcn/ui and most current design systems author their palettes here. Supported in every major browser since 2023.

OKLab: The rectangular form of OKLCH. This is the space CSS color-mix() and gradients interpolate through by default.

Lab and LCH: The older CIE spaces, still perceptual but less even across the blues. CSS defines both against the D50 white point, which is what this tool uses.

Display P3: A wide gamut roughly 25% larger than sRGB, covering most current laptop and phone screens. Written as color(display-p3 r g b).

HWB: Hue plus whiteness and blackness. A CSS Color 4 notation that maps closely to how people describe tints and shades.

Classic formats

HEX: Hexadecimal, in 3, 4, 6 or 8 digits. The 4 and 8 digit forms carry an alpha channel.

RGB: Red, green and blue from 0 to 255. Both the modern space separated syntax, rgb(59 130 246 / 50%), and the legacy comma form are produced.

HSL and HSV: Hue with saturation and either lightness or value. Convenient to reason about, but their lightness is an arithmetic mean rather than a perceptual one, so rotating hue changes apparent brightness.

CMYK: A device independent approximation for print. Real print work needs an ICC profile, so treat these numbers as a starting point.

Contrast and accessibility

WCAG 2.2: A ratio from 1:1 to 21:1. Normal body text needs 4.5:1 for AA and 7:1 for AAA. Text at 18pt, or 14pt bold and larger, along with UI components and graphics, needs 3:1 for AA.

APCA: The lightness contrast (Lc) metric from the WCAG 3 draft. It accounts for polarity, so dark text on a light background scores differently from the reverse, something the WCAG 2 ratio cannot express. Positive values mean dark text on a light background.

Translucent colours are composited over the backdrop before measuring, because contrast depends on what is actually rendered rather than on the unblended value.

Features

  • Paste any CSS colour, named colours included, and convert to every format
  • Alpha channel throughout, with a checkerboard preview
  • Eyedropper to sample any pixel on screen (Chromium browsers)
  • Perceptual 50 to 950 tonal scale, ready to drop into a design system
  • WCAG and APCA contrast checking against white, black or any other colour
  • Colour blindness simulation across the whole ramp
  • Export to CSS variables, Tailwind v3 and v4, SCSS, JSON or SVG
  • Shareable links that carry the colour in the URL