Figma Variables

Named values in Figma that hold colours, numbers, strings and booleans, with modes for theming — the design file's version of design tokens.

Deliverables & Artifacts

Variables store a value once and reference it everywhere: a colour, a spacing number, a string, a boolean. Modes are the feature that matters most — one variable can hold different values for light and dark, for compact and comfortable density, or for brand themes, and switching a frame's mode re-resolves everything bound to it. That makes theming a property of the file rather than a duplicated set of screens.

The point is the link to code. Variables map naturally onto design tokens, so a colour ramp or spacing scale can live in one place and be exported rather than transcribed. Where teams go wrong is naming: variables named by appearance (`blue-500`) rather than by role (`surface-brand`) recreate the problem tokens were meant to solve, because the name stops being true the moment the value changes.

In practice

A team maintained separate light and dark versions of every screen — 240 frames, drifting constantly. Rebuilding on semantic variables with two modes cut it to 120 frames with a mode toggle, and the first brand colour change afterwards took minutes instead of the two days the previous one had.

Where teams get it wrong

  • Naming by appearance instead of by role, which breaks the first time a value changes.
  • Variables in the file that do not correspond to tokens in code, so the two drift.
  • Modes used for one-off variants rather than for systematic dimensions.
  • Collections structured so nobody can find the right variable, so people type raw values.
  • Treating it as a Figma feature rather than as the design half of a token pipeline.

( Learn more )

Related terms

All terms

Defined by Mara Bureau LLP. Last reviewed . Corrections: hello@mara.ink.

( You may ask )

Questions about Figma Variables

Didn’t find your answer?

Ask us directly — a designer replies within one business day.

Contact us
  • Design tokens are the general concept — named design decisions shared between design and code. Figma variables are one implementation of that concept inside the design tool, and they can be exported to feed the code side.

  • Holding different values of the same variable for different contexts — light and dark themes, density settings, brand variants — so switching a frame's mode re-resolves everything bound to it.

( Contact )

What problems are we solving?

At our core, we believe in delivering high-quality designs in days, not weeks.

What do you need?

( Contact )

What problems are we solving?

At our core, we believe in delivering high-quality designs in days, not weeks.

What do you need?