A design token is a named value representing a single design decision, such as a color, spacing unit, font size, border radius, shadow, or animation duration, stored in a platform-agnostic format and consumed by both design tools and code. Rather than a specific hexadecimal color appearing in dozens of components, a token named for its role holds the value, and everything referencing that role updates together when the value changes.
The purpose is to make design decisions single-sourced and machine-readable. Without tokens, the same intended color drifts into several near-identical values across a codebase, spacing becomes an arbitrary set of numbers chosen per component, and the gap between what the design files specify and what the product renders widens continuously. With tokens, the specification and the implementation reference the same definitions, and inconsistency becomes detectable rather than merely regrettable.
Effective token systems are layered. Primitive tokens name raw values, such as a specific blue at a specific lightness. Semantic tokens name roles, such as the color used for primary actions or for destructive states, and reference primitives. Component tokens, where needed, name the values used by a specific component and reference semantic ones. This layering is what makes theming, dark mode, brand variants, and accessibility adjustments tractable: changing the semantic layer changes the product coherently, whereas a flat list of raw values requires finding and changing every usage.
Naming is the hardest and most consequential part. Tokens named after their appearance, such as a color named for being blue, become misleading the moment the value changes, and produce absurdities like a blue token holding a green value. Tokens named after their role remain accurate through rebrands and theme changes. A clear, documented naming convention agreed before the system is populated is worth considerably more than the tooling around it, because renaming tokens after adoption is expensive.
Tokens deliver most of their value when they are enforced rather than merely available. If developers can still write arbitrary values and designers can still pick colors outside the palette, the system documents an intention rather than a reality. Linting rules that reject non-token values, design tool libraries that restrict available choices, and automated checks in the build pipeline are what convert a token set into an actual constraint. Automated distribution to each platform's native format, so that web, iOS, and Android consume the same source, is what makes multi-platform consistency achievable.
Tokens also make accessibility requirements enforceable rather than aspirational. Contrast ratios between foreground and background colors can be validated automatically across every defined combination, so a palette change that breaks a requirement fails in the build rather than being discovered by an audit months later. Minimum target sizes, focus indicator styles, and spacing rules can be expressed the same way. This shifts accessibility from a review activity, where it depends on someone remembering to check, to a systemic property of the design system, which is the only approach that survives contact with a growing product and a changing team. It also produces a defensible record of compliance decisions, which matters in sectors where accessibility obligations are formally audited.
In practice, tokens are the foundation layer of a design system rather than an optional refinement, and they are most valuable in organizations where multiple teams build interfaces that must appear as one product. Establishing them is a normal early step in product design work, with the distribution and enforcement mechanics owned by product development. For larger organizations with several brands, regions, or product lines sharing infrastructure, this layer is what makes controlled variation possible without maintaining separate implementations, which is why it recurs so consistently in enterprise programs.