50 systems

50 design token files, compared

Token counts by category, formats, and the meaning layer (descriptions, deprecation fields, usage rules), counted programmatically from the raw public token files of50 design systems.

23
formats in active use
13/50
have per-token descriptions
11/50
have a machine-readable deprecation field
1/50
ship explicit usage / do-not rules
SystemOwnerFormatColorTypographySpacingDescriptionsDeprecationUsage rules
SLDSSalesforceTheo YAML320 (256p/64a)169NoNoNo
SpectrumAdobeJSON (DTCG-ish)636 (372p/264s)31215NoYesNo
PrimerGitHubDTCG JSON5290 prim15 base33 (merged)YesYesYes
CarbonIBMTS/JS244 prim32 (+36 styles)13NoPartialNo
PolarisShopifyTS466 (240p/226s)31 (+55 styles)22YesNoPartial
FluentMicrosoftTS688 prim2711 (22 directional)NoNoNo
PasteTwilioYAML (Style Dict)338 (143p/195s)4452YesNoPartial
GestaltPinterestJSON (Style Dict)175 (109p/66s)12 base33NoNoNo
NordNordhealthJSON (Theo)64 (7p/57s)206YesNoPartial
CanvasWorkdayJSON (Style Dict)361 (256p/105s)5525 (merged)YesYesNo
AtlassianJS (Style Dict raw)541 (150p/391s)2323YesYesPartial
Telekom ScaleDeutsche TelekomJS158 (135p/23s)3412NoNoNo
USWDSGSAJSON + SCSS461 prim4444NoNoNo
PatternFlyRed HatJSON (Style Dict)516 (78/96/342)17 base8 baseYesNoPartial
Helsinki HDSCity of HelsinkiJSON (Style Dict)73 prim1712NoNoNo
BackpackSkyscannerJSON (DTCG/Figma)212 (75p/137s)10 (no sizes)11NoNoNo
CloudscapeAWSTS (Style Dict)38068119YesYesPartial
PajamasGitLabJSON (DTCG)332 (154p/178s)7232YesYesPartial
Material Design 3GoogleSCSS142 (91p/51s)67none in code (spec: 18)PartialPartialNo
Ant DesignTS~222 (130+79+seeds)209YesYesNo
Chakra UIChakraTS136 prim3634NoNoNo
Base WebUberTS170s (267p/59f)3922 (merged)NoYesNo
Radix ThemesRadix UICSS vars930 file (~79/theme)839NoNoNo
Open PropsargyleinkCSS vars247 (19x13)5674 (merged)NoNoNo
MantineTS140 prim215NoNoNo
EUIElasticTS366 (159p/207s)1610 (merged)YesYesPartial
GardenZendeskTS213 prim248NoNoNo
OrbitKiwi.comJSON (Style Dict)76 prim1214NoNoNo
Clay / LexiconLiferaySCSS~155279PartialYesNo
Vibemonday.comCSS vars220s7310NoPartialNo
The GuardianGuardian NewsTS (from tokens.json)94 (pillar-organized)100 (presets)15PartialPartialNo
BootstrapSCSS31 (14/9 prim + 8 sem)226PartialPartialNo
BraidSEEKTS62 (semantic only)119NoNoNo
GrommetHPETS5211 (+24 heading)8NoPartialNo
VitaminDecathlonCSS vars133 (68p/65s)2711NoPartialNo
StacksStack OverflowLESS1482426PartialPartialPartial
Shoelace / Web AwesomeFont AwesomeCSS vars255 (198p/57s)2610NoNoNo
VanillaCanonicalSCSS52 (35p/17s)2522PartialPartialPartial
FoundationZurbSCSS10225PartialNoNo
BulmaSCSS45 (20p/25s)197NoNoNo
NL Design SystemNL DS (Dutch gov)DTCG372 (semantic only)11353YesYesNo
GOV.UKGDS (UK gov)SCSS88 (68p/20s)1210YesNoPartial
TDesignTencentLESS / CSS vars125 (62p/63s)5355PartialNoNo
ArcoByteDanceLESS / CSS vars272 (140 prim)1923NoNoNo
Semi DesignByteDanceSCSS / CSS vars333 (222p/111s)1210PartialNoNo
Suomi.fiFinnish govJSON34 (semantic)2216PartialNoNo
Australian GOLDAustralian govTS23 (semantic)1411PartialNoNo
Forma 36ContentfulTS120 (63p/57s)329NoNoNo
Theme UIsystem-uiTS5 (semantic)179NoNoNo
PharosJSTORStyle Dict JSON593113PartialNoNo

Method: Counts produced programmatically (jq/python/grep) on raw token files at pinned commits where possible. Canonical/default theme only. No scoring; like-for-like comparison.

Color totals are not apples-to-apples in intent: systems exposing full primitive ramps count every shade. Where separable, the split is shown as (primitives p / semantic s). "Partial" in the meaning columns means comment-only, or carried in a sibling metadata file rather than the token source itself.

Chart titled 'ten systems, ten naming grammars'. The same semantic token is decomposed into colored parts (context, category, component, property, role, state, step) for ten design systems including Salesforce SLDS, GitHub Primer, IBM Carbon, Shopify Polaris, Microsoft Fluent, AWS Cloudscape, Red Hat PatternFly, Workday Canvas, Mantine, and Radix Themes. No two share the same parts, order, or casing.
Real semantic tokens from ten systems, decomposed into their parts. Same job, different subset, different order. An agent that learned one grammar knows nothing about the next.

Weekly newsletter

Get the weekly DSG newsletter.

One practical guide each week: prompts, Codex and Claude notes, design-system automation, and tools worth trying.

Opens Substack. Unsubscribe anytime.