Figma Variables are a native feature for defining reusable values — colors, spacing, booleans — that power prototypes and design modes inside Figma. designtoken.md is a structured markdown file that sits in your repo and gives coding agents the complete design picture at generation time. One lives in your design tool, the other lives with your code.
Figma Variables are Figma's built-in system for defining reusable design values. They support colors, numbers, strings, and booleans — organized into collections and modes (like light/dark themes). Variables power conditional prototyping, responsive design, and are the foundation of Figma's design token story. They're tightly integrated with Figma's component system and Dev Mode.
Figma nativeA designtoken.md is a structured markdown file that lives in your project root. Full color scales (50–900), typography hierarchies with sizes, weights, and line heights, spacing systems, elevation tokens, and component state definitions. Any coding agent — Claude Code, Cursor, Copilot — reads it directly. No design tool required, no export pipeline, no build step.
~150–200 lines| Feature | Figma Variables | designtoken.md |
|---|---|---|
| Lives in | Figma (native) | Your repo (markdown file) |
| Token types | Color, number, string, boolean | Colors, typography, spacing, elevation, components |
| Scales | Single values per variable | Full 50–900 scales |
| Typography | Individual values | Complete hierarchies (size, weight, leading, tracking) |
| Component states | Via variants | Explicit: default, hover, active, disabled |
| Modes/themes | Collections + modes | One file per brand/theme |
| Export | Dev Mode, REST API, plugins | Already in repo — no export needed |
| Agent access | Indirect (export → consume) | Direct (agent reads file) |
| Requires | Figma account (paid for variables) | Nothing — free, no signup |
| Works offline | No | Yes |
Both have distinct purposes. Here's how to choose.