May 23, 2026
Token bloat is a process problem. Here is the audit, the conversation, and the cleanup that brought a real design system from 4000 tokens to 280.
If your design system has 4000 tokens and you cannot find the one you need in under 15 seconds, you do not have a design system. You have a token landfill.
Token bloat is rarely a single decision. It is the accumulation of small “let me just add a token for this” requests, each individually reasonable, that compound into a system that nobody trusts. Three things drive it:
color-blue-500 and color-primary-500 and color-brand-blue all exist, refer to the same value, and were added in different quarters.I ran this audit on a real system that had grown to 4047 tokens:
blue-500) needs a semantic wrapper (color-action-default). Components consume semantic only.From 4047 tokens to 280, in 9 weeks, without breaking the product:
The hardest part was not technical. It was telling teams “no” to token requests without sounding like a gatekeeper. The reframe that worked: “Your token request is reasonable. The system already supports this. Here is how. If that pattern is broken, let us fix the pattern, not add a token.”