Color scale (tonal ramp)

One color stretched into an ordered ladder of lightness steps (50, 100, 200 ... 900) so the UI has a shade for every job.

tonal scaletonal rampthe 50 to 900 shades like Tailwindlight-to-dark versions of my brand colorcolor rampshade ladderthe 100 200 300 color numbersall the tints of one color

See it

Live demo coming soon

What it is

A color scale takes one hue and stretches it into an ordered ladder of lightness steps, usually numbered 50, 100, 200, on up to 900 or 950. Tailwind popularized the numbering, Material and Radix ship their own versions, and every design system needs one, because interfaces do not use 'blue', they use a hover blue, a border blue, a focus-ring blue, and a text-on-white blue.

Good scales are built in a perceptual space (OKLCH or CIELAB lightness) so that step 400 to 500 feels like the same jump as 700 to 800. Many also shift hue slightly along the ramp, cooling the darks and warming the lights, which is what keeps a scale from looking like someone dragged a brightness slider. A common convention: steps 50 to 200 are backgrounds, 300 to 500 are borders and fills, 600 to 900 are text and strong surfaces.

Gotcha: interpolating channel by channel in gamma-encoded sRGB (which is what plain hex math does) gives you an uneven ramp. Lightness bunches up in places and the mixtures often land darker and muddier than the numbers suggest. Whether the hue drifts on the way, blues sliding purple for instance, depends on which two endpoints you picked, so check the ramp rather than assuming. Also, do not assume the same step number means the same contrast across hues: yellow-500 on white is unreadable while blue-500 is fine, so pin your ramps to measured contrast, not to a naming pattern.

Ask AI for it

Generate an 11-step tonal ramp (50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950) from this brand hue. Build it in OKLCH so the lightness steps are perceptually even, keep chroma peaking around the 500 to 600 steps and tapering at both ends, and apply a slight hue shift (cooler toward the dark end, warmer toward the light end). Step 50 should work as a page background and step 900 as body text on it. Output hex plus OKLCH for each step and flag which steps pass 4.5:1 against white and against black.

You might have meant

color palette color schemesemantic color rolesoklchtint shade tonemonochromatic