Color Coding

Every colour carries a code that says where it sits in colour space. Read it and you already know roughly what the colour looks like — which is the point, and it is why the codes are not serial numbers.

The ChromaSpot colour wheel: six hue sectors of six steps, chroma rings 1 to 9, neutrals at the centre
The whole code on one wheel: six hue families of six steps around the rim, chroma 1–9 outwards from the centre, the neutrals at the hub.

The code, in one line

8R4.52chroma 8 · hue R4 · lightness 52

Three facts, in the order that a designer actually cares about them: how saturated, what hue, how light. Everything else — the name, the spectrum, the subsets — hangs off that.

PartReadsComes from
8Chroma — how far from greythe tens of C
R4Hue — one of 36 bins, each 10° widethe hue angle
.52LightnessL, rounded

The hue circle: six letters, six steps each

CIE Lab: a colour as a point at a = 55, b = 40 CIE LCH: the same point as chroma 68 at hue angle 36 degrees, with the ChromaSpot sectors around the rim
The same colour twice: in Lab as a point (a 55, b 40), in LCH as a distance and an angle (C 68, h 36°). The code reads the LCH form: the angle names the hue step, the distance the chroma.

The circle is divided into 36 bins of exactly ten degrees, grouped into six named families. R1 starts at 0°; P6 ends at 360°.

LetterFamilyBinsHue angle
Rreds through orangesR1 – R60° – 60°
Yyellows through yellow-greensY1 – Y660° – 120°
GgreensG1 – G6120° – 180°
Bcyans through bluesB1 – B6180° – 240°
Vblue-violetsV1 – V6240° – 300°
Ppurples through magentasP1 – P6300° – 360°

Ten degrees is a deliberate size. Wide enough that a family means something to the eye; narrow enough that two colours in the same bin are recognisably related. Every bin in this library holds between 90 and 153 colours, which is what an even division of a real gamut looks like — there are more printable reds than printable violets.

Chroma: how far from grey

The leading digit is the tens of the chroma value. 0 is nearly grey; 9 is as saturated as the library goes.

DigitChromaReads as
Nunder 0.5a true grey — no hue letter at all
0under 7.5a grey with a visible cast
1 – 3to 40muted, tinted, earthy
4 – 6to 70clearly coloured
7 – 970 and abovesaturated; 9 reaches 112

The boundaries are approximate by design. A colour sitting on one takes whichever digit leaves the code unambiguous, because no two colours may carry the same code — that rule outranks tidiness.

Lightness

After the dot: L, rounded to the nearest whole number. Nothing more. 8R4.52 has an L of 52; N.93 has an L of 93.

The theoretical range is 0 to 100. The library runs from about 5 to 93, because it is made of printed samples: no ink is as dark as theoretical black, and no paper is as bright as a perfect reflector.

Neutrals are their own family

A grey with essentially no hue has no hue to name, so it gets a short code: N and its lightness. N.36 is a grey at L 36.

There are 36 of them, 1.90 to 2.00 ΔE00 apart from L 5 to L 93 — a ramp built to read as even rather than to be numerically even.

Reading a code without looking it up

This is the part that repays learning, and it takes about a minute.

CodeWhat you know before you look
9Y3.73Very saturated, yellow at 80–90°, light. A vivid yellow.
1B4.30Barely coloured, blue, dark. A blue-grey shadow tone.
6R5.34Strongly coloured, red-orange, mid-dark. A signal red.
N.87A light grey. Nothing else to say, which is the point.

Two codes that differ in one place are neighbours in that dimension. Change the last number and you move along the lightness ramp; change the letter-digit pair and you rotate around the circle. A palette can be built by reading rather than by browsing.

Names sit on top, and never replace the code

Every colour carries a plain English name: 8R4.52 Pyrrole Scarlet. The name is a convenience for people; the code is the identity.

Never write a name without its code in front of it. The code is what still resolves if the name ever changes.

Not a style preference. Names can be withdrawn — if someone holds a word as a trademark, the honest response is to stop using it — and a document carrying 8R4.52 Pyrrole Scarlet survives that while one carrying only the name does not. A withdrawn name is never given to another colour, in any language.

Names in other languages

Colour vocabulary belongs to a language and a culture, and a literal translation is usually the wrong answer. The library is built so a colour can carry a different name in each language, all resolving to the same code, none of them a translation of another.

Why the codes were designed from nothing

They could have followed an existing system. They deliberately do not.

A code derived from a colour’s own coordinates belongs to nobody else, claims nothing about anyone else’s numbering, and cannot be taken away. It is also reproducible: given the measurement the code follows. Nobody allocates it and there is no register to consult.

Which is why a withdrawn name is survivable. The colour keeps its code, the word changes, and every document that carried both keeps working.

Read next