A parametric color system that turns three inputs — a hue angle, a peak chroma, and a hero lightness — into a full 11-step scale plus an off-scale neon. Built in OKLCH so perceptual lightness stays consistent across every hue, and brand hex values can pin into any step without breaking the ramp.

OKLCH Pure Rulebook v3d

Three inputs generate any hue from white to black.

Scale calculator

interactive

Hue200
0360
Max chroma0.160
0.010.25
Hero L0.700
0.40.9
Name
customH200 · C0.160 · L0.700hero: #00BAC5
100
200
300
400
500
600
700
800
900
1000
1100
58FFFFL0.92
FFFFFFL1.00
DFF5F6L0.95
C3F2F4L0.93
97F3F7L0.91
5DF1F9L0.88
00BAC5L0.72
00888FL0.57
005A60L0.43
003236L0.29
000E10L0.15
000000L0.00
3Inputs per family
12Steps per scale (+ neon)
7 + 3Core + demo families

Color scales

Legend:pinned= brand hex lock
redH28 · C0.2 · L0.6
neutralH68→17 · C0.016 · L0.764
cautionH95 · C0.17 · L0.856
verdeH125 · C0.2 · L0.819
greenH156 · C0.17 · L0.729
blueH239 · C0.15 · L0.709
plumH350 · C0.2 · L0.714

Demo families — generated from formula alone, no pins

orangeH55 · C0.17 · L0.72
tealH180 · C0.14 · L0.7
purpleH300 · C0.17 · L0.65

Lightness (L)

StepNameFormula
100white1.000
200wash0.955
300tint0.930
400mid(tint + accent) / 2
500accentheroL + blend × (tint − heroL)
600heroheroL (input)
700heroL × 0.80
800heroL × 0.60
900heroL × 0.40
1000heroL × 0.20
1100black0.000

Accent blend = 0.50 when heroL > 0.82, else 0.80. Pins override computed L; gaps interpolate linearly.

Chroma (C)

StepRatioIntent
1000pure white
2000.15soft wash
3000.30tint
4000.55mid saturation
5000.78strong accent
6001.00full hero
7000.72strong shade
8000.54mid shade
9000.42deep shade
10000.28near-dark
11000pure black

C = maxC × ratio. Bell curve peaks at the hero (step 600).


Brand pins

HexFamilyStepRole
#F8F6F4neutral200Warm background
#615959neutral800Warm rosy dark gray
#C6EA84verde500Brand verde accent
#1EC677green600Primary brand green
#009C52green700Secondary brand green
#0D4029green900Dark brand green
#052016green1000Deepest brand green
#401B22plum900Dark brand plum

How to explain it

  • Every scale is built from three inputs: a hue angle, a peak saturation, and a hero lightness.
  • The hero (step 600) is the main color — everything else derives from it.
  • Light steps (wash, tint) are pinned to fixed lightness so they align across all families.
  • Mid steps adapt: for bright hues the accent sits near the hero, for cool hues it stretches toward tint.
  • Dark steps are hero lightness × 0.8, 0.6, 0.4, 0.2 — linear decay to black.
  • Saturation follows a bell curve peaking at the hero, tapering to zero at white and black.
  • Neons sit off-scale at step 0 — base C 0.138 for naturally vivid hues, boosted C for red, blue, plum, orange.
  • Neutrals drift from a warm sandy hue in the lights to warm rosy in the darks.
  • Brand hex values snap into any step; surrounding steps interpolate smoothly around them.
  • It works because OKLCH is perceptually uniform — L 0.7 looks equally light at any hue.

Design System·2026