Tools › Article

Tokens Studio: Design Tokens from Figma, Step by Step

Tokens Studio is a Figma plugin for creating design tokens and syncing them with GitHub or GitLab. What it does, how to set it up, and which plans exist.

info Quick Definition
Tokens Studio for Figma is a Figma plugin that lets you define design tokens (values such as color, typography, and spacing) inside the design file, organize them into sets, and sync them with a code repository. It helps design and development use the same values.

What is a design token, and why does it matter here?

A design token is a named value: color.background.primary instead of #1A73E8. If the color changes, you change the token, not every screen. To understand how these names are layered, read token architecture.

Tokens Studio handles the middle step: tokens start in Figma, where the designer works, and reach the code without copying values by hand.

How does it work inside?

The plugin organizes tokens into three pieces:

  • Tokens: each individual value, with a name and a type.
  • Token sets: containers of tokens, for example base, brand, or dark-mode. The documentation describes them as the no-code version of a JSON file. Each set needs a unique name, and a slash in the name (brands/berry) creates a folder in the tree.
  • Sync: a provider, such as GitHub or GitLab, where the JSON files are stored.

Each set can be enabled, disabled, or marked as a source. An enabled set makes its tokens available to apply, reference and export; a disabled set is ignored; a source set only supplies values for references. If two enabled sets have a token with the same name, the one lower in the list wins. That rule, similar to a cascade of defaults and overrides, is the basis of theming. Themes (combinations of sets applied together, such as light and dark) are a paid feature.

Names use dots to create hierarchy (color.text.secondary), and groups form a tree both in the plugin and in the code files. Each name must be unique within its set. Token names cannot contain the characters {, }, or $. The documentation also warns that names are often transformed on their way to code (changes of case, flattened groups) and can collide with each other, so think about how they will end up.

A semantic token (for example color.action.primary) can point to a palette token. That reference is what lets you change a theme by editing one layer, not every value in the interface.

How do you set up GitHub?

The official documentation describes these steps (Tokens Studio: GitHub sync):

  1. Create a repository and check “Add a README file”. The plugin cannot sync to an empty repository. It can be public or private.
  2. Generate a personal access token. A classic token needs the repo scope; a fine-grained token needs Contents set to read and write. With read-only access you can view tokens but not create or edit them.
  3. In Figma, open the plugin’s Settings page, choose “Add new” under sync providers, and select GitHub.
  4. Fill in the name, token, repository (owner/repo), branch, and the path where the files will be stored. The base URL is only needed for an enterprise GitHub server.
  5. Save, then push or pull to sync.

The path defines the shape of the output. With a folder (for example tokens), each set is saved as its own JSON file. With a file (for example tokens.json), all sets are combined into one, and the documentation warns that this limits how developers can work with theme information. Storing in a folder (multi-file sync) is a paid feature; if a collaborator does not have the Team plan, they will see those tokens as read-only. GitLab follows the same scheme, with the api scope on the token.

Which token format should you choose?

The plugin supports two: Tokens Studio’s legacy format, which is the default, and the W3C DTCG format, which prefixes properties with $ ($value, $type, $description). The documentation notes some conditions: DTCG defines token types the plugin does not support yet, and its output requires configuring Style Dictionary with SD-Transforms and convertToDTCG. In Git-synced repositories, each branch can use a different format. Reference: Tokens Studio: token format.

Which plans exist?

Prices change, so always check the official page (Tokens Studio: pricing). On November 7, 2026, the page showed:

PlanPrice shownWhat it includes, according to the page
Free€0One editor, unlimited viewers, one project with one active branch. Access to the Studio platform, without the paid features of the Figma plugin.
Team€39 per month, billed annuallyOne editor included (each extra editor costs €39 per month), unlimited viewers, 5 projects with 5 active branches each, 1 GB of assets, chat or Slack support, and all paid plugin features.
Organization€499 per month, billed annually5 editors included (extra ones at €49 per month), unlimited projects and branches, 10 GB of assets, priority support. SSO, directory sync and audit export are paid add-ons.
EnterpriseCustomCustom security and scale setups; contact sales.

The page states that the legacy plans (Starter Plus, Pro and Essential) were folded into Team. The base price includes one editor on Team and five on Organization, and extra editors are billed separately. Studio offers a 14-day trial with no payment details required.

When should you NOT use it?

  • If your team has no code workflow where the tokens will land. Without a destination, the plugin is just a well-organized palette.
  • If you will sync to a single file and already have your own Style Dictionary pipeline, exporting JSON from another tool may be enough.
  • If the team has not decided who owns the tokens. Without rules for changes, sets fill up with duplicate values. Solve that before picking any plugin; see design system governance.

Illustrative example

Illustrative example: a designer creates a base set with colors and spacing, and a dark-mode set that overrides only the surface colors; since the lower set wins, enabling both in that order is enough. She syncs with a repository whose tokens folder holds one file per set (a paid feature). The developer reads those JSON files with their build tool and generates CSS variables. When the designer changes the surface color in Figma and syncs, the change reaches the repository as a commit that can be reviewed, like any other code change.

If you already use AI to generate code from these values, read design tokens for agents. For the parity between design and code, see token parity.

Common mistakes

  • Creating tokens with value-based names (blue-2) instead of role-based names (color.action.primary).
  • Using an empty repository and then not understanding why the connection fails.
  • Switching to the DTCG format without configuring Style Dictionary for the output.
  • Editing the JSON by hand in the repository and then overwriting it from Figma.
  • Assuming folder sync is free and discovering that a collaborator without a paid plan can only read the tokens.
  • Assuming the tool replaces design decisions: a badly named token is still badly named.

What you can do tomorrow

  1. Open the plugin in a test file and create a base set with five colors and five spacing values.
  2. Check the official documentation to see whether your code project already consumes token JSON or needs another step.
  3. Write a naming rule on a single page before you create more tokens.

Sources

Frequently asked questions

What is Tokens Studio?
Tokens Studio for Figma is a Figma plugin that lets you create design tokens (colors, typography, spacing) inside Figma and sync them with a code repository. The company also offers Studio, a web platform.
Is Tokens Studio free?
There is a free plan with limits: one editor, unlimited viewers, one project and one active branch, without the paid features of the Figma plugin. According to the documentation, features such as themes and multi-file sync are paid. The Team plan costs €39 per month billed annually. Check tokens.studio for current prices before you decide.
Does Tokens Studio support the W3C DTCG format?
Yes. The plugin lets you choose between its legacy format, which is the default, and the W3C DTCG format, which uses $-prefixed properties such as $value and $type.
How do I sync Figma tokens with GitHub?
Create a repository with a README, generate a personal access token, add it as a sync provider in the plugin settings, and choose whether tokens are stored in a folder (one file per set, a paid feature) or in a single file.
Which sync providers does it support?
According to the documentation: GitHub, GitLab, Bitbucket and Azure DevOps (Git); JSONBin, Supernova and the Tokens Studio platform (cloud); a URL or generic versioned storage (server); and the Figma file itself (local).