Skip to content
ColorArchive
ColorArchive Notes
2029-01-13

How Color Naming Systems Work (and Why They Matter)

From Pantone to CSS named colors to semantic design tokens — the different naming conventions for color and when each system serves you best.

The way you name colors determines whether your system is maintainable. Color naming is not cosmetic — it's architecture. **Layer 1: Physical References** Pantone Matching System (PMS) names colors by reference number tied to physical ink formulas. RAL (Germany) and British Standard use similar numbered systems. These exist for print fidelity: 'Pantone 286 C' refers to a specific physical ink that can be reproduced consistently across printers worldwide. The cost: no semantic meaning. '286 C' tells you nothing about what role the color plays in your brand. **Layer 2: Perceptual Names** Human languages evolved color vocabulary around perception: 'sky blue,' 'forest green,' 'terracotta.' These are intuitive but imprecise. Two designers arguing whether a color is 'teal' or 'sage' is a naming layer problem, not a vision problem. CSS named colors (rebeccapurple, cornflowerblue, etc.) are essentially perceptual names — useful for quick reference, useless for systematic design. **Layer 3: Structural Names** Modern design systems use structural naming: 'blue-500,' 'gray-100,' 'red-700.' These communicate position in a scale but nothing about role. Tailwind, Material Design, and most design system color scales use this convention. It's maintainable and legible to engineers but still makes no statement about semantic intent. **Layer 4: Semantic Names** The most powerful naming layer: 'color.action.primary,' 'color.text.secondary,' 'color.surface.raised.' These names describe the role the color plays, not its appearance. A semantic token called 'color.feedback.error' can point to red in light mode and a differently-calibrated red in dark mode — the name stays constant while the value changes to serve the context. This is the naming architecture that enables consistent theming, dark mode, and cross-platform consistency. **The Right Stack** Best practice: use all four layers in sequence. Pantone/RAL for physical print anchors → structural scale (blue-100 through blue-900) as your palette → semantic tokens (action.primary → blue-600 in light mode) for implementation. Each layer has its purpose; collapsing them creates systems that are either too rigid (pure Pantone) or too vague (pure perception).
Newer issue
Color and Attention: What Designers Need to Know
2029-01-06
Older issue
Designing Color Systems That Work in Dark Mode
2029-01-20