# What are Figma Variables? > Figma variables are Figma's native design tokens, with modes for light and dark. Reading them via the REST API requires an Enterprise plan. - Source: https://flashdsm.com/glossary/figma-variables - Site: Flash DS (https://flashdsm.com) - Updated: 2026-08-06 --- ## Definition Figma variables are named values stored inside a Figma file for colours, numbers, strings and booleans, supporting modes for cases such as light and dark themes. They are Figma's native form of design tokens, but reading them programmatically through the Figma REST API requires an Enterprise plan. ## What they do Variables let a Figma file hold named values instead of repeating raw ones. Four types are supported: colour, number, string and boolean. They can be organized into collections, and each collection can have **modes** - most commonly light and dark, but also density, brand or platform. A layer bound to a variable updates when the mode changes, which makes theming inside Figma work the way it should. Variables can also alias other variables, which is how a semantic layer is built: `text/danger` pointing at `red/600`. ## Where the difficulty is Variables solve the problem inside Figma. The problem outside it is unresolved, and this is where teams get surprised. **Reading variables through Figma's REST API requires an Enterprise plan.** The endpoint exists, and it returns 403 on Professional and Organization plans. The practical consequence is significant when evaluating tools. Anything that promises Figma token sync over the REST API works on an Enterprise account and silently does nothing on the plan most teams are on. This is worth asking about directly before buying, because it does not usually appear in marketing material. Plugins are not affected. The plugin API reads variables from inside the file, and a plugin runs on any plan. A tool whose transport is a plugin works regardless of your Figma tier. ## Variables and design tokens Figma variables are a form of design token, scoped to Figma. They are not portable on their own - there is no built-in export to CSS, Tailwind or the W3C token JSON format. Bridging that gap is what token tooling is for. The choice is between a plugin, which works everywhere, and the REST API, which does not. ## Where this fits with Flash DS Flash DS uses a Figma plugin as its transport for exactly this reason. It reads variables on any Figma plan, turns a publish into a reviewable token diff, and exports to CSS, Tailwind, Tokens Studio JSON or a GitHub pull request. ## Related terms - https://flashdsm.com/glossary/design-token - https://flashdsm.com/glossary/design-to-code - https://flashdsm.com/glossary/semantic-token