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