Designers

Tools / Token names

Token names Free

Lints design token names: mixed separators, hue names where roles belong, values in names, location names, duplicate values, abbreviation drift and irregular scales.

MCP tool name: lint_token_names. REST: POST /api/token-names. Free: 30 runs a day per IP, 20,000 characters each. Pro: no cap.

Ask for it in plain words

Lint these design token names: <paste>

Lint design token names from a list, CSS variables or a JSON token file: mixed separators, colours named by hue where roles belong, values or locations in names, version words, duplicate values, abbreviation drift (bg and background) and irregular scales.

Inputs

NameTypeMeaning
text *stringToken names or file contents

* required

Example

curl -X POST https://designers.allthepossibles.com/api/token-names \
  -H "content-type: application/json" \
  -d '{"text":"--blue-500: #3b82f6;\n--color-bg-card: #ffffff;\n--header-blue: #3b82f6;\n--bg-primary: #ffffff;\n--background-muted: #eeeeee;\n--btn_new: #112233;\n--space-1: 4px;\n--space-2: 8px;\n--space-3: 12px;\n--space-5: 20px;\n--space-9: 36px"}'

Example output

The report field, for the input above (structured fields come back alongside it):

11 tokens, separator style kebab, 9 role-named and 2 hue-named. 1 high, 3 medium, 2 low.

HIGH   names mix separators (kebab 10, snake 1); keep one (kebab is most used)
MEDIUM header-blue: named for where it is used, not what it does; the same colour will be needed elsewhere
MEDIUM btn_new: contains a version or status word (new, old, temp); tokens outlive the redesign that coined them
MEDIUM both bg and background appear; pick one word
LOW    blue-500: 2 tokens share the value #3b82f6 (blue-500, header-blue); fine if one aliases the other, a drift risk if they are separate
LOW    color-bg-card: 2 tokens share the value #ffffff (color-bg-card, bg-primary); fine if one aliases the other, a drift risk if they are separate

A good token name says what the token is for (color.text.muted), not what it looks like. Pair this with check_contrast_tokens to test the values.

What it looks like

The Token names tool on the Designers homepage, with its example input and result

Limits of this tool

Deterministic: the same input always gives the same answer. It does not call a language model.