STEP 1

STEP 1

STEP 1

Design tokens, what?

Design tokens, what?

Design tokens, what?

Imagine you own a cat. Your cat’s name is “Lola.” But you also call her “Lolita,” “Loly,” and “Cutie.”

Imagine you own a cat. Your cat’s name is “Lola.” But you also call her “Lolita,” “Loly,” and “Cutie.”

Imagine you own a cat. Your cat’s name is “Lola.” But you also call her “Lolita,” “Loly,” and “Cutie.”

🐈
Lola
🐈
🐈
Loly
🐈
Lolita

original name

original

name

the same cat

the same

cat

#00FFD7
green-100
link-color-default

button-primary-background-color

button-primary-bg-color

the same color

original name

original

name

Think of design tokens like nicknames for your design elements.

Instead of using hard codes like color hex codes or pixel sizes, we give them names. These names, or 'tokens', store design details in a simple, easy-to-read way. They work with all style files in your system, making your design consistent and easy to scale.

These tokens can be linked to create a theme. This makes it easy to grow your design and keep it consistent across all platforms, like Web, iOS, and Android.

The idea of design tokens started with Salesforce’s Design System in 2014. Now, they're the smallest but most important part of any design system. They're like the building blocks of your design language, making sure your brand looks the same across all platforms.

In short, design tokens are the backbone of your design system. They keep your brand's visual style consistent and easy to manage.

why use design tokens?

why use design tokens?

why use design tokens?

Benefits

Benefits

Benefits

With design tokens, we achieve:

With design tokens, we achieve:

With design tokens, we achieve:

Use of the same language.

Improved communication between teams.

Synced files.

One source of truth, 

consistency on all platforms.

Solid foundations.

Steady design system brings value.

Easy maintenance.

Edit in one place, update all at once.

Brand consistency

Creating new products, maintaining uniformity, and managing a brand is becoming more accessible, faster, and cheaper with a transparent visual hierarchy system.

It becomes more accessible, faster, and cheaper with a transparent visual hierarchy system.

Less design and technical debt.

means fewer resources are spent.

ONE STANDARD, UNLIMITED APPS

ONE STANDARD, UNLIMITED APPS

ONE STANDARD, UNLIMITED APPS

Standard, where are you?

Standard, where are you?

Standard, where are you?

No matter what, we need a standard if we want to adopt design tokens in multiple apps.

No matter what, we need a standard if we want to adopt design tokens in multiple apps.

No matter what, we need a standard if we want to adopt design tokens in multiple apps.

The good news is that W3C Design Tokens Standard is coming up! Soon-ish.

When the standard is published, it will allow other tools to communicate in the same “language.” Imagine taking colors from the Figma Tokens plugin and plugging them into Adobe Illustrator or Pitch. Exciting times. 😅

If you want to learn more about the standard, you can visit the Official Design Tokens Community Group.

The good news is that W3C Design Tokens Standard is coming up! Soon-ish.

When the standard is published, it will allow other tools to communicate in the same “language.” Imagine taking colors from the Figma Tokens plugin and plugging them into Adobe Illustrator or Pitch. Exciting times. 😅

If you want to learn more about the standard, you can visit the Official Design Tokens Community Group.

The good news is that W3C Design Tokens Standard is coming up! Soon-ish.

When the standard is published, it will allow other tools to communicate in the same “language.” Imagine taking colors from the Figma Tokens plugin and plugging them into Adobe Illustrator or Pitch. Exciting times. 😅

If you want to learn more about the standard, you can visit the Official Design Tokens Community Group.

DESIGN TOKEN CATEGORIES

DESIGN TOKEN CATEGORIES

DESIGN TOKEN CATEGORIES

Naming Conventions

Naming Conventions

Naming Conventions

These categories are now your guidance for naming. However, you can use a different logic, as long as others will understand it too.

These categories are now your guidance for naming. However, you can use a different logic, as long as others will understand it too.

These categories are now your guidance for naming. However, you can use a different logic, as long as others will understand it too.

Naming takes time. Usually, teams spend a lot of brain power finding the perfect logic. You can find inspiration in other open design systems, but that doesn’t mean it will work for you. I recommend a workshop to find the most optimal structure for your use case.

Naming takes time. Usually, teams spend a lot of brain power finding the perfect logic. You can find inspiration in other open design systems, but that doesn’t mean it will work for you. I recommend a workshop to find the most optimal structure for your use case.

Names should be:

short

meaningful

easy-to understand

modular

consistent

Let's go through some basic examples.

Let's go through some basic examples.

"Global tokens" or "Core tokens"
are the primitive values.

blue-700

Alias tokens
relates to specific context.

bg-color

Component-specific tokens
relates to a component.

button-bg-color

Global names

Naming colors with values from 1-100 (or 1-9). Every tone value between 0 and 100 expresses the amount of light present in color. The 100 tone is always 100% white, the lightest tone in the range; the 0 tone is 100% black, the darkest tone in the range.

Naming colors with values from 1-100 (or 1-9). Every tone value between 0 and 100 expresses the amount of light present in color. The 100 tone is always 100% white, the lightest tone in the range; the 0 tone is 100% black, the darkest tone in the range.

Example:

blue-400

blue-500

blue-600

Strive for a simple, minimal palette.

This doesn’t mean you should add all the colors in the world. 😅

Strive for a simple, minimal palette.

Please remember that this doesn’t mean you should add all the colors in the world.

Colors

Some teams love names like mystery blue, fresh pink, and sunshine yellow, but this only works when you have a limited set of colors. It is memorable and easily understood by non-designers, but it is tough to memorize 50+ crazy names.

The solution is to use abstract names based on tonal values and then combine them with semantic, component-specific tokens (remember the cat above 😅).

Some teams love names like mystery blue, fresh pink, and sunshine yellow, but this only works when you have a limited set of colors. It is memorable and easily understood by non-designers, but it is tough to memorize 50+ crazy names.

The solution is to use abstract names based on tonal values and then combine them with semantic, component-specific tokens (remember the cat above 😅).

Alias design tokens

Here we are using a combination of descriptive (specific) tokens with a purpose (color name –color-blue-400).

These two examples can serve as connectors and are a reference to the colors above.

Here we are using a combination of descriptive (specific) tokens with a purpose (color name –color-blue-400).

These two examples can serve as connectors and are a reference to the colors above.

Example:

primaryBgColor:

primaryBgColor:

--color-blue-400

primaryTextColor:

$white

Component-specific names

$color-link:

#ffffff

Or with alias tokens:

colors.button.primary

blue-400

colors.card.background

white

You can use alias tokens and create different themes if you have a multi-brand design system. For example:

You can use alias tokens and create different themes if you have a multi-brand design system. For example:

Brand A

color.card.background

white

Brand B

color.card.background

grey-400

Sizes

T-shirt sizes

xx-small

x-small

small

medium

large

x-large

The easiest way for technical or non-technical people is using T-shirt sizes. We are all aware of small, medium, large and extra large.

The easiest way for technical or non-technical people is using T-shirt sizes. We are all aware of small, medium, large and extra large.

Numeric states

1

2

3

4

5

6

Cloudspace Design System

You can also use numeric scales, for example, 0-1000, 1-10, etc. The easiest way is to follow the same pattern and steps between numbers once you decide on multiplayer.

For example, If you use number 1 for 2px and want to multiply it by 2, then number 2 should be 4px.

You can also use numeric scales, for example, 0-1000, 1-10, etc.

The easiest way is to follow same pattern and steps between numbers once you decide on multiplayer.

For example: If you use number 1 for 2px, and you want to multiply it by 2, then number 2 should be 4px.

States

default
default
hover
hover
active
active
selected
selected
visited
visited
disabled
disabled
enabled
enabled

Levels

Now that you understand the basics, we can move on to the more sophisticated names. Complex, multi-brand design systems need many levels for naming because they need to include multiple themes.

Now that you understand the basics, we can move on to the more sophisticated names. Complex, multi-brand design systems need many levels for naming because they need to include multiple themes.

2 level naming:

category

concept

$color-action

3-level naming:

category

component

variant

$background-button-primary

4-level naming:

category

component

variant

state

$background-button-primary-hover

If you want to go deep on naming conventions, I recommend you to read the blog post from Nathan Curtis, “Naming Tokens in Design Systems.”

If you want to go deep on naming conventions, I recommend you to read the blog post from Nathan Curtis, “Naming Tokens in Design Systems.”


PS. Nathan is one of the pioneers in the design systems space.

Design tokens can be managed and distributed with the help of various tools and technologies. It's crucial to select tools that best fit your team's workflow and the platforms you're designing for. Each tool comes with its own set of features, so it's important to understand what each offers and how it can benefit your design process.


If you want to use design tokens across all the platforms, you will need a token transformer to transform design tokens values. One of the best and most used is Style Dictionary.

Design tokens can be managed and distributed with the help of various tools and technologies. It's crucial to select tools that best fit your team's workflow and the platforms you're designing for. Each tool comes with its own set of features, so it's important to understand what each offers and how it can benefit your design process.


If you want to use design tokens across all the platforms, you will need a token transformer to transform design tokens values. One of the best and most used is Style Dictionary.

Design tokens can be managed and distributed with the help of various tools and technologies. It's crucial to select tools that best fit your team's workflow and the platforms you're designing for. Each tool comes with its own set of features, so it's important to understand what each offers and how it can benefit your design process.


If you want to use design tokens across all the platforms, you will need a token transformer to transform design tokens values. One of the best and most used is Style Dictionary.

TOOLS

TOOLS

TOOLS

Managing Design Tokens

Managing Design Tokens

Managing Design Tokens

Design tokens can be managed and distributed with the help of various tools and technologies. It's crucial to select tools that best fit your team's workflow and the platforms you're designing for. Each tool comes with its own set of features, so it's important to understand what each offers and how it can benefit your design process.


If you want to use design tokens across all the platforms, you will need a token transformer to transform design tokens values. One of the best and most used is Style Dictionary.

Design tokens can be managed and distributed with the help of various tools and technologies. It's crucial to select tools that best fit your team's workflow and the platforms you're designing for. Each tool comes with its own set of features, so it's important to understand what each offers and how it can benefit your design process.


If you want to use design tokens across all the platforms, you will need a token transformer to transform design tokens values. One of the best and most used is Style Dictionary.

Design tokens can be managed and distributed with the help of various tools and technologies. It's crucial to select tools that best fit your team's workflow and the platforms you're designing for. Each tool comes with its own set of features, so it's important to understand what each offers and how it can benefit your design process.


If you want to use design tokens across all the platforms, you will need a token transformer to transform design tokens values. One of the best and most used is Style Dictionary.

Style Dictionary

Style Dictionary

Style Dictionary translates raw JSON data into a platform-specific format. It is available as a CLI through NPM, but can also be used like any normal node module if you want to extend its functionality. It can generate different output formats like variables for the common CSS preprocessors like Sass, Stylus, and Less. But it also generates an XML version for Android or a JSON version for iOS (which you don’t get by using only the Figma Tokens plugin).

For example, you will use Style Dictionary, when you want to translate values from RGB in .css (web) to RGBA in .json (iOS) to 8-digit Hex AARRGGBB as .xml (Android).

Style Dictionary translates raw JSON data into a platform-specific format. It is available as a CLI through NPM, but can also be used like any normal node module if you want to extend its functionality. It can generate different output formats like variables for the common CSS preprocessors like Sass, Stylus, and Less. But it also generates an XML version for Android or a JSON version for iOS (which you don’t get by using only the Figma Tokens plugin).

For example, you will use Style Dictionary, when you want to translate values from RGB in .css (web) to RGBA in .json (iOS) to 8-digit Hex AARRGGBB as .xml (Android).

Style Dictionary translates raw JSON data into a platform-specific format. It is available as a CLI through NPM, but can also be used like any normal node module if you want to extend its functionality. It can generate different output formats like variables for the common CSS preprocessors like Sass, Stylus, and Less. But it also generates an XML version for Android or a JSON version for iOS (which you don’t get by using only the Figma Tokens plugin).

For example, you will use Style Dictionary, when you want to translate values from RGB in .css (web) to RGBA in .json (iOS) to 8-digit Hex AARRGGBB as .xml (Android).

Visualizing token structure

Visualizing token structure

If you have difficulty understanding the hierarchical structure of your design tokens from .json, you can use this tool to see the connections (even if you are entirely non-technical.)

How to do it?

1 Open jsoncrack.com

2 Copy your .json file to the editor.

3 Voilà, you can see the whole structure.

If you have difficulty understanding the hierarchical structure of your design tokens from .json, you can use this tool to see the connections (even if you are entirely non-technical.)

How to do it?

1 Open jsoncrack.com

2 Copy your .json file to the editor.

3 Voilà, you can see the whole structure.

If you have difficulty understanding the hierarchical structure of your design tokens from .json, you can use this tool to see the connections (even if you are entirely non-technical.)

How to do it?

1 Open jsoncrack.com

2 Copy your .json file to the editor.

3 Voilà, you can see the whole structure.

Enjoy the design tokens magic.
Don’t overcomplicate.

Enjoy the design tokens magic.
Don’t overcomplicate.

resources

resources

resources

The Design System Tools

The Design System Tools

The Design System Tools

Explore the list of design system tools

Explore the list of design system tools

Explore the list of design system tools

Newsletter

Writing on topics such as design systems,

design process, design strategy. ✨

© 2022 - 2024 The Design System Guide by Romina Kavcic

Newsletter

Writing on topics such as design systems,

design process, design strategy. ✨

© 2022 - 2024 The Design System Guide by Romina Kavcic

Newsletter

Writing on topics such as design systems,

design process, design strategy. ✨

© 2022 - 2024 The Design System Guide by Romina Kavcic