Why Color Steps Are Named 50–900
The 50–900 numbers on a color scale are position labels running light to dark: 50 is the faintest tint, 500 sits mid-ramp as the conventional brand core, 900 is the darkest step. The scheme was popularized by Google’s Material Design in 2014 and spread through Tailwind CSS — and like the font-weight numbers it resembles, the values name positions, not measured quantities.
That short history answers the literal question. The more useful questions are why numbers beat names, why the scale starts at 50 rather than 100, and what the gaps between the hundreds are for — conventions worth understanding rather than memorizing, which is the running theme of our color scales guide.
Where did the 50–900 numbering come from?
When Google released Material Design in 2014, its color system shipped each hue as a numbered ramp: 50, then 100 through 900 in steps of one hundred, with 500 treated as the identity shade — the value the guidelines called the color’s primary. Tailwind CSS adopted the same numbering for its default palette and carried it into the developer mainstream; its scales originally ran 100–900, and a 50 tint and a 950 near-black were added at the ends as real interfaces asked for them. Radix went its own way with steps numbered 1–12 — which is itself evidence that the load-bearing idea is ordered numeric positions, not the specific values.
Color scale numbers read like CSS font-weight numbering — 100 to 900, with 400 as normal and 700 as bold — and the parallel is worth declaring as a parallel: whether or not one scheme inspired the other, both solve the same problem the same way. A coarse numeric grid, light to heavy, with room left between the values.
Why numbers instead of light, lighter, lightest?
Names collapse under extension. Two variants of a blue can be light and dark; four can, at a stretch, be lightest, light, dark and darkest; at ten, naming turns absurd. Numbers survive because they do three jobs names cannot:
- They sort.
blue-100throughblue-900order themselves in a token list, an export, an autocomplete dropdown. Named steps sort alphabetically: dark, darker, light, lighter — a shuffle. - They extend. Inserting a step between “light” and “lighter” forces renames across the system; adding a 950 to a 100–900 scale renames nothing.
- They communicate distance. A move from 300 to 700 is legibly bigger than one from 500 to 600, and “two steps darker” is arithmetic. The distance between “light” and “darker” is undefined.
Why does the scale start at 50 — and what does 500 mean?
The 50 answers a real need: a tint below 100, for near-white washes and page backgrounds that the 100 was already too colorful for. Its label follows the grid’s own logic — half of 100, a step below the first full step.
The 500 is the midpoint of the 100–900 run, and Material’s decision to treat it as each color’s identity shade hardened into a cross-industry habit: when someone says “our blue”, they usually mean the 500 — or the 600, since buttons carrying white text often push the core one step darker for contrast. There is also a physical reason the core gravitates mid-ramp: near the extremes of lightness a hue cannot hold much saturation, so the most recognizably branded version of a color tends to live in the midtones.
Open a fully labeled 50–900 ramp in Scale Composer — ten steps with their numbers, lightness and hex values visible: this article’s vocabulary, live.

What are the gaps between the numbers for?
Insertion room. A scheme numbered 1–10 would be full; a scheme running in hundreds can grow new values without renaming a single existing step. That is how the scheme has actually evolved: dark interfaces created demand for several closely spaced near-blacks — surface colors just above pure black — and the answers landed in the gap below 1000. Scale Composer’s twelve-step variant works this way: it adds 950 and 975 to the ten default steps, extending the dark end while every other label stays put.
Does a 500 mean the same thing in every system?
No — and this is the honest core of the topic: the numbers are positions, not measurements. No standard defines what lightness a 500 must have, so nothing guarantees two systems’ 500s match. Tailwind’s blue-500, Material’s blue 500 and your palette’s 500 are three different colors that happen to share an address.
Scale Composer’s own step-set variants prove the point inside a single tool. All three sets spread their steps evenly across the same lightness range (L ≈0.97 down to ≈0.25), so the same label lands at a different lightness depending on how many steps share the ramp:
| Label | 8-step set | 10-step set | 12-step set |
|---|---|---|---|
| 100 | L ≈0.93 | L ≈0.94 | L ≈0.95 |
| 300 | L ≈0.84 | L ≈0.81 | L ≈0.85 |
| 500 | L ≈0.74 | L ≈0.63 | L ≈0.72 |
| 900 | L ≈0.25 | L ≈0.25 | L ≈0.40 |
The 500 row varies by more than a full step’s worth of lightness, and the 900 row is starker: in the twelve-step set, 900 sits at L ≈0.40, because 950 and 975 have taken over the deep end. Same seed, same tool, same label — different color. The practical rule follows: within one system, navigate by the labels; when comparing across systems, compare measured lightness and contrast, not the numbers.
Which step-set should you pick — 8, 10 or 12?
The three sets map to three situations. Eight steps (50, 100, 300, 500, 600, 700, 800, 900) suits lean palettes — marketing sites and small products where fewer decisions is a feature; the set drops 200 and 400, the steps with the fewest jobs. Ten is the default most product UI fits comfortably. Twelve (adding 950 and 975) is for dark-mode-heavy products, where surfaces need distinguishable near-blacks that a ten-step scale does not carry.
The difference is easiest to judge with both on screen. Compare the 8- and 12-step sets on the same seed — same color, same lightness range; watch what the extra steps buy at the dark end, and what the leaner set saves you everywhere else.