Free Color Converter & Palette Generator

Convert between HEX, RGB, HSL and CMYK, build palettes, and check WCAG contrast — all in your browser.

Pick a color with the picker or paste any color value you already have — #3366cc, rgb(51, 102, 204), hsl(220, 63%, 50%), or even a name like steelblue. Every format updates live, palettes are generated from the color wheel, and the contrast checker tells you exactly which text colors are readable on your background.

🔒 100% private — nothing is uploaded or stored. Every conversion, palette and contrast check runs locally in your browser with plain JavaScript. Your colors never leave your device — they are never sent to our servers, and nothing is stored anywhere.

Pick a color

Accepted: #RGB, #RRGGBB, #RRGGBBAA, rgb()/rgba(), hsl()/hsla(), and all 148 CSS color names.

Color formats

Click any value (or its Copy button) to copy it.

FormatValue
HEX
RGB
HSL
CMYK
CSS name (closest)
Web-safe (nearest)

Generated palettes

Built from the color wheel around your base color. Click a swatch to copy its HEX; use Set to make it the new base and regenerate everything.

Contrast & accessibility

WCAG 2.1 contrast ratios for your color as background (and as text). AA is the legal minimum in many accessibility standards; AAA is the gold standard.

Heading sample
Body text sample — the quick brown fox jumps over the lazy dog.
PairingSampleRatioAAAA largeAAAAAA large

How the color models work

RGB — the screen model

Screens build color by adding light: red, green and blue sub-pixels, each from 0 (off) to 255 (full brightness). Mixing all three at full intensity gives white; none gives black. That is why RGB is called an additive model. When you see a color described as rgb(51, 102, 204), you are looking at a screen recipe.

HSL — the human model

HSL describes the same colors the way people talk about them: hue is the position on the color wheel (0° red, 120° green, 240° blue), saturation is how vivid versus grey the color is, and lightness is how dark versus light. Designers and developers use HSL because it makes adjustments obvious — “make it 20% lighter” is one number, while doing that in RGB requires recomputing all three channels. The palettes on this page are generated by rotating the hue and scaling the lightness.

CMYK — the print model

Printers work the opposite way: they subtract light by laying down cyan, magenta, yellow and black (K) inks on white paper, so it is a subtractive model. The CMYK values shown here are the standard mathematical approximation (the “unprofiled” conversion), which is close enough for labels and quick checks. Professional print work uses ICC color profiles per paper and press, so treat these numbers as a starting point, not a press proof.

How the contrast ratio is calculated

WCAG defines contrast as the ratio of the relative luminance of the two colors (plus a small constant so black-on-black is 1:1 instead of 0:1):

contrast = (L1 + 0.05) / (L2 + 0.05)

Relative luminance is not the same as brightness — it weights each channel by how much the human eye sees it (green contributes most, blue least) and applies the non-linear response of our vision:

L = 0.2126·R + 0.7152·G + 0.0722·B

where each channel is linearized first (values below ~4% are divided by 12.92, the rest by a 2.4-gamma curve). The ratio ranges from 1:1 (identical colors, invisible) to 21:1 (black on white, maximum).

WCAG thresholds

LevelNormal textLarge text
AA (minimum)4.5:13:1
AAA (enhanced)7:14.5:1

“Large text” means at least 24px (18pt), or 18.66px (14pt) when bold. Body copy is normal text, so hold your design to the 4.5:1 bar before calling it accessible.

Tips for using palettes

  • 60-30-10 rule: pick one dominant color (~60% of the surface), one supporting color (~30%), and one accent (~10%). The complementary or triadic swatches are natural accent picks.
  • Check contrast, don’t guess. A color can look fine on your monitor and fail badly on a cheap LCD. The table above is the objective test.
  • Never rely on color alone. If red means “error” and green means “success”, add icons or text too — about 1 in 12 men has some form of color vision deficiency.
  • Keep your base, vary the lightness. The monochromatic and shades/tints rows give you hover states, borders and background tints that always go with the base color.
  • Export as CSS variables and reference var(--base) in your stylesheets — rebranding becomes a one-line change.

Nothing on this page leaves your browser: there is no server round-trip when you pick a color, no analytics on your inputs, and no storage of any kind.


Luke Keam
Thank you for reading. Email me: [email protected]
Luke Keam | techgeek.biz