# Color Companion

Convert a colour between hex, RGB, HSL, OKLCH, CMYK, and CSS names, then get the colours that pair with it: complementary, analogous, triadic, and split-complementary. Harmonies are computed in OKLCH rather than HSL, so the results hold their perceived lightness instead of drifting darker or lighter as the hue rotates. Also reports WCAG contrast against white and black.

**Not for:** Does not match colours to a specific paint, thread, or Pantone catalogue — those are licensed systems and a conversion without the real spot-colour data would be a guess. CMYK output is a plain untagged conversion, not a colour-managed one for a particular press.

## Surfaces

- HTML: `https://color-companion.gumballtools.com`
- Markdown: same URLs with `Accept: text/markdown` or `?format=md`
- JSON API: `https://color-companion.gumballtools.com/api/v1/analyse`
- OpenAPI: `https://color-companion.gumballtools.com/.well-known/openapi.json`
- MCP: `https://color-companion.gumballtools.com/api/mcp`

## Worked examples

- [Hex to OKLCH](https://color-companion.gumballtools.com/color/hex-to-oklch) — The conversion behind modern CSS colour. Gamma decoding, a matrix multiply, and a cube root — not something to estimate.
- [Find a complementary colour](https://color-companion.gumballtools.com/color/complementary-color-finder) — The opposite hue, rotated in OKLCH so the pair keeps the same perceived lightness instead of one looking washed out.
- [Hex to RGB](https://color-companion.gumballtools.com/color/hex-to-rgb) — The simplest conversion, plus every other format at the same time.
- [Hex to HSL](https://color-companion.gumballtools.com/color/hex-to-hsl) — HSL is convenient but not perceptual — useful to see next to the OKLCH values.
- [Hex to CMYK](https://color-companion.gumballtools.com/color/hex-to-cmyk) — The arithmetic conversion, and why a real press will not match it.
- [Analogous colour scheme](https://color-companion.gumballtools.com/color/analogous-color-scheme) — Neighbouring hues, thirty degrees either side — the safest way to build a palette.
- [Triadic colour scheme](https://color-companion.gumballtools.com/color/triadic-color-scheme) — Three hues evenly spaced around the wheel, balanced in lightness.
- [Split-complementary colours](https://color-companion.gumballtools.com/color/split-complementary-colors) — Softer than a straight complement, and usually easier to use in an outfit or a UI.
- [Monochromatic palette](https://color-companion.gumballtools.com/color/monochromatic-color-palette) — One hue at five lightness steps — the ramp most design systems are built on.
- [Which text colour is readable on this?](https://color-companion.gumballtools.com/color/accessible-text-color) — WCAG contrast against white and black, with the AA and AAA thresholds.
- [Navy blue colour codes](https://color-companion.gumballtools.com/color/navy-blue-color-codes) — Every format for navy, plus the colours that pair with it.
- [When a colour cannot be displayed](https://color-companion.gumballtools.com/color/out-of-gamut-colors) — A vivid colour whose harmonies fall outside sRGB, showing what clipping does and why the tool tells you.
- [Why HSL complements look unbalanced](https://color-companion.gumballtools.com/color/why-hsl-complementary-looks-wrong) — Rotating hue in HSL changes perceived lightness. This is the same colour done properly, for comparison.
- [The rebeccapurple colour](https://color-companion.gumballtools.com/color/rebeccapurple-color) — The one CSS colour added in memory of someone, and everything it converts to.

