Design token - це назва для одного дизайн-рішення: кольору, відступу, радіуса, шрифту чи тіні. Замість #2563EB у двохстах місцях ви пишете color.action.primary, а значення живе в одному місці. Токени бувають трьох рівнів - primitive, semantic і component - і саме вони роблять так, що одна зміна в дизайні доїжджає до коду без ручного синку.

Нижче - одне визначення, три рівні на одному наскрізному прикладі, як токен виглядає у Figma, JSON і CSS, і чому у 2026 році токени потрібні вже не тільки команді, а й AI-агенту, який пише за вас код.

Що таке design token одним реченням?

Design token - це пара «назва → значення», де назва описує рішення, а значення можна змінити, не чіпаючи місць, де токен використовується.

Найпростіша аналогія - контакт у телефоні. Ви дзвоните «Мамі», а не на +380 67 …. Мама змінила номер - ви оновили один контакт, і всі ваші дзвінки йдуть на новий. Токен працює так само: компоненти «дзвонять» на color.action.primary, а яке там зараз значення, вирішує одне місце в системі.

Що зазвичай стає токенами:

  • Колір - фони, текст, межі, стани (успіх, помилка, попередження)
  • Відступи - шкала на кшталт 4, 8, 12, 16, 24, 32, 48
  • Типографіка - розміри, висота рядка, насиченість шрифту
  • Радіуси, тіні, товщина меж
  • Анімація - тривалість і easing (так, це теж токени)

Які бувають design tokens: primitive, semantic, component?

Три рівні найлегше зрозуміти на одному прикладі - синій колір основної кнопки:

РівеньПрикладЩо означаєПосилається на
Primitiveblue.600 = #2563EBпросто колір з палітри, без сенсусире значення
Semanticcolor.action.primaryроль у продукті: «головна дія»blue.600
Componentbutton.primary.bgфон конкретної кнопкиcolor.action.primary

Навіщо стільки рівнів, якщо в кінці все одно #2563EB? Бо кожен рівень відповідає на своє питання:

  • Primitive відповідає «які кольори взагалі існують». Тут немає слова «кнопка».
  • Semantic відповідає «для чого цей колір». Саме цей рівень перемикається у темній темі: color.action.primary у light дивиться на blue.600, у dark - на blue.400. Компоненти про це навіть не знають.
  • Component відповідає «що саме в цьому компоненті». Він потрібен, коли кнопка має відрізнятись від загального правила, не ламаючи його для всіх інших.

Чому починати треба саме з примітивів, а не з семантики, ми детально розбирали в окремому матеріалі про архітектуру токенів. Коротко: якщо почати з семантики, через тиждень color.text.primary означатиме три різні речі у трьох різних місцях.

Чи потрібні всі три рівні одразу?

Ні. Чесна рекомендація за розміром продукту:

СитуаціяРівніЧому
Лендинг, сайт, MVPprimitive + semanticтемна тема і ребрендинг вже працюють, зайвої складності нема
Продукт на 20+ екранівprimitive + semantic + частково componentcomponent-токени тільки для компонентів, що відходять від правил
Кілька брендів або платформусі трикожен бренд перевизначає semantic, компоненти лишаються спільними

Орієнтовні обсяги для продукту на 20-30 екранів: 60-120 primitive токенів (кольорові шкали, 8-12 кроків відступів, 5-7 розмірів шрифту, 3-4 радіуси) і 30-50 semantic. Якщо semantic токенів понад 150 - це майже завжди дублікати під різними назвами.

Як токен виглядає у Figma, JSON і CSS?

Той самий токен живе у трьох місцях, і в цьому вся суть: назва однакова, формат різний.

У Figma - це Variable у колекції. Primitive-колекція з одним режимом, semantic-колекція з режимами Light і Dark, де значення - це посилання (alias) на primitive.

У JSON - формат W3C Design Tokens (DTCG). Перша стабільна версія специфікації, 2025.10, вийшла у жовтні 2025 року, і її вже підтримують Style Dictionary, Tokens Studio та Terrazzo. Виглядає так:

{
  "blue": {
    "600": { "$type": "color", "$value": "#2563EB" }
  },
  "color": {
    "action": {
      "primary": { "$type": "color", "$value": "{blue.600}" }
    }
  }
}

У CSS - custom properties, які Style Dictionary збирає з того самого JSON:

:root {
  --blue-600: #2563EB;
  --color-action-primary: var(--blue-600);
}
.button-primary { background: var(--color-action-primary); }

JSON тут - обмінний формат між дизайном і кодом. Як налаштувати цей міст без ручного копіювання, покроково показано в матеріалі про CSS-змінні та design tokens.

Навіщо design tokens, якщо код пише AI?

Тут головна зміна 2026 року, і саме через неї ми вчимо токени не як «гарну практику», а як обов'язкову частину роботи дизайнера, що кодить.

Коли ви просите Claude Code чи Cursor зверстати екран з макета без токенів, агент бачить 16px і #2563EB і вставляє сирі значення. Кожен новий екран - трохи інший синій, трохи інший відступ. Через тиждень у коді 30 відтінків синього, і жоден з них не можна змінити централізовано.

З токенами агент отримує словник. Через Figma MCP він читає не картинку, а назви змінних, і пише var(--color-action-primary). Результат:

  • темна тема і ребрендинг робляться в одному файлі, а не пошуком по проєкту
  • код, який написав агент, збігається з макетом не «на око», а за назвами
  • рев'ю стає простим: будь-яке сире значення в коді - одразу помилка

Щоб агент справді брав токени, а не вигадував свої, правило варто закріпити в інструкціях проєкту - про це матеріал AGENTS.md для дизайн-системи. Живі приклади того, як агент працює з токенами, я показую на YouTube-каналі UX Hero.

Тому наш кут простий: генерувати картинки сьогодні вміє кожен, а доводити дизайн до коду, який не розвалюється, - ні. Токени - це саме та частина, що з'єднує макет і продакшн.

Які помилки з токенами найчастіші?

  • Назва за значенням, а не за роллю. color.blue на semantic-рівні ламається в день ребрендингу на зелений.
  • Токени тільки для кольорів. Відступи й типографіка без токенів дають такий самий хаос, просто його важче помітити.
  • Компоненти прив'язані до primitives напряму. Тоді темна тема знову стає ручною роботою.
  • Токени є у Figma, але не в коді. Це не система, а красивий файл. Правило перевірки: змінили значення в одному місці - змінилось у продукті.
  • Кожен називає як хоче. Домовтесь про схему до першого токена - ось гайд з нейменінгу.

Часті питання

Що таке design tokens простими словами?

Design token - це назва для одного дизайн-рішення: кольору, відступу, радіуса, розміру шрифту чи тіні. Замість того щоб писати #2563EB у двохстах місцях, ви пишете color.action.primary, а саме значення зберігається в одному місці. Змінили значення - воно оновилось у Figma, у коді і на всіх платформах одночасно.

Чим primitive, semantic і component токени відрізняються?

Primitive - це сира палітра без сенсу (blue.600, space.4). Semantic - це роль у продукті (color.action.primary, color.text.muted), вона посилається на primitive і саме вона перемикається між світлою і темною темою. Component - це значення конкретного компонента (button.primary.bg), яке посилається на semantic. Для невеликого продукту вистачає перших двох рівнів.

Чим design tokens відрізняються від Figma Variables і CSS-змінних?

Design token - це ідея: іменоване дизайн-рішення, незалежне від інструмента. Figma Variables - спосіб зберігати токени в дизайні, CSS custom properties - спосіб зберігати їх у коді. Обмінний формат між ними - JSON за стандартом W3C Design Tokens (DTCG), перша стабільна версія якого вийшла у жовтні 2025 року.

Скільки токенів потрібно для старту?

Для продукту на 20-30 екранів реальна стартова цифра - 60-120 primitives (кольорові шкали, 8-12 кроків відступів, 5-7 розмірів шрифту, 3-4 радіуси) і 30-50 semantic токенів. Якщо semantic токенів більше 150, найчастіше це дублікати з різними назвами.

Навіщо design tokens, якщо код пише AI?

Саме тому вони й потрібні. Без токенів AI-агент на кшталт Claude Code бачить у макеті 16px і #2563EB і щоразу вставляє сирі значення, тож через тиждень у коді 30 відтінків синього. З токенами агент пише var(--color-action-primary), і зміна теми чи бренду робиться в одному файлі, а не пошуком по всьому проєкту. Навчитись будувати такі токени можна на курсі UX Hero «Дизайн-система з AI» від Dmytro Nikolaienko.


Design tokens - це не окремий інструмент і не мода. Це спосіб дати кожному дизайн-рішенню ім'я, щоб його однаково розуміли Figma, код і AI-агент. Почніть з primitives, додайте semantic, і вже перша темна тема окупить усю роботу.