On this page
Quick steps
Open the Variables view
In your Figma Design file, click Variables in the navigation bar on the left. The view opens full-window; click Minimize if you want it as a smaller modal.
Export one mode or all modes
Right-click a mode and choose Export mode for a single JSON file, or right-click the collection and choose Export modes to get one file per mode.
Check the JSON
Open a file and confirm token names, $type and $value fields, and that aliases point at the tokens you expect. Figma-specific data sits under $extensions with com.figma keys.
Transform it for code
Feed the DTCG files to Style Dictionary (or your own script) to generate CSS custom properties, a Tailwind theme, or iOS and Android output.
Import into another Figma file
To reuse the tokens in Figma, drag the JSON files into the Variables view of the target file to create a collection, or right-click an existing mode and choose Import mode to update it.
Use a plugin for multi-collection moves
When you need several collections in one file, a preview of created and skipped variables, or skip, overwrite and merge options, use Variable Master's Import/Export tab instead.
What Figma can export natively in 2026
Native variable export and import live in the Variables view. They produce one file per mode in standard DTCG JSON. That covers the most common request, getting a token file out of Figma, without installing anything.
Two other native routes are worth knowing. Dev Mode has a read-only variables table and a details panel that shows a variable's value, its alias chain and a code snippet. Developers can copy values from there, but it is a lookup tool, not a file export. The Figma REST API has Variables endpoints, but Figma's developer docs state you need a Full seat in an Enterprise org to use them. On Professional or Organization plans, the API is off the table for variables.
How to export Figma variables to JSON
- Open the file where the collection was created, usually your library file, rather than a file that only uses it.
- Click Variables in the left navigation bar.
- Right-click a collection and choose Export modes, or right-click a single mode and choose Export mode.
- Save the files somewhere your developers can reach, ideally the same repo as the code that uses them.
Each file holds one mode. A collection with Light and Dark modes gives you two files with the same token names and different values. Group names from Figma (color/accent/light) become nested JSON groups, and cross-collection references are stored with Figma's alias data under $extensions.
How to export Figma variables to CSS or Tailwind
Figma does not write CSS files. The usual path is a small build step: export the DTCG JSON, then run it through Style Dictionary, which reads the DTCG format and outputs CSS custom properties, SCSS, JavaScript, Swift or Android resources from one config. One file per mode maps neatly onto a :root block for Light and a [data-theme="dark"] block for Dark.
For Tailwind, generate CSS variables first and reference them in your theme. Tailwind v4 reads theme values from CSS through @theme, so a Style Dictionary CSS output can feed it directly. On older Tailwind versions, output a JavaScript object and import it into tailwind.config.js.
Can you export Figma variables to CSV?
Not natively. If a PM or content team wants a spreadsheet, export the JSON and flatten it with a short script, or use one of the community plugins that write CSV directly. Keep in mind a CSV loses alias relationships, so treat it as a read-only snapshot and keep JSON as the source you import from.
How to import variables into Figma
Native import is the reverse of export. Drag one JSON file per mode into the Variables view to create a new collection, or right-click an existing mode and choose Import mode to update it. Only people with edit access can import. Figma is strict about what it accepts:
- Colors in sRGB or HSL, dimensions and numbers in
px, font families as a single name, and durations in seconds. - Booleans need Figma's
com.figma.typeextension, and strings are a Figma addition to the DTCG types. - When you import several mode files at once, a token only becomes a variable if it exists in every file with the same
$type.
Tokens that break these rules are skipped, so a JSON file written by hand or exported from another tool may import partially. Check the variable count after importing.
When a plugin is worth it
The native flow is file-per-mode and collection-by-collection. That gets tedious when you are moving a whole token set between Figma files, restoring a backup, or merging tokens into a collection that already has variables. Variable Master handles that Figma-to-Figma case:
- Export lets you pick all collections or specific ones and downloads a single JSON file with variable definitions, values and mode configuration.
- Import accepts pasted JSON or a file, validates the structure, then previews which variables will be created, updated or skipped. You choose to skip duplicates, overwrite or merge.
- Modes are matched by name, so a Light and Dark collection lands in the right modes of the destination.
- The Find tab lists unused variables, so you can clean up before exporting instead of shipping dead tokens.
Variable Master's JSON is built for moving variables between Figma files. It does not generate CSS or Tailwind, so keep the native DTCG export plus Style Dictionary for the code side. The plugin is free with no login. If you haven't added a plugin before, see how to install Figma plugins.
Its Swap tab also helps after an import: it repoints layers from one collection to another by name and type, including library collections, so you can move a file from local tokens onto the newly imported library. The Variable Master docs list every property it swaps.
Tokens Studio and other alternatives
Tokens Studio for Figma is the better fit when code or a Git repo is the source of truth. It stores tokens in its own JSON, syncs with providers like GitHub and GitLab, supports themes across many token sets, and can create Figma variables from them. It has a free tier and paid plans, and it takes more setup than a one-off export. Several smaller community plugins export variables straight to JSON or CSS too; they are fine for quick snapshots, but check that their output format matches what your build expects.
Ranked listThe best Figma design token and variables plugins in 2026Frequently asked questions
Can I export Figma variables without a plugin?
Yes. In the Variables view, right-click a collection and choose Export modes, or right-click one mode and choose Export mode. Figma saves DTCG-format JSON, one file per mode.
Can Figma export variables directly to CSS?
No. Dev Mode shows a CSS snippet for individual variables, but there is no CSS file export. Export the JSON and generate CSS with Style Dictionary or a script.
Is the Figma Variables REST API available on every plan?
No. Figma's developer docs say the Variables endpoints require a Full seat in an Enterprise organization, and guests can't use them.
Why did only some of my tokens import into Figma?
Figma only creates variables for tokens with a supported $type and value, such as px dimensions and sRGB or HSL colors. When importing several mode files, a token must exist in all of them with the same type.
What's the easiest way to copy variables from one Figma file to another?
Export from the source file and import into the target. Natively that's one file per mode. Variable Master exports chosen collections into one JSON file and previews the import with skip, overwrite or merge options.
More in Variables & styles
- Figma Variables Not Showing? Here's Why and How to Fix ItFigma variables now open from the Variables tab in the left nav. If one won't appear in a picker, check its type, scoping and library. Mode switch fixes too.
- How to Toggle a Boolean Variable to Show and Hide Layers in FigmaBind a boolean variable to layer visibility, then toggle it on click with Set variable and a not expression. Plus why boolean variables stop working in Figma.
- How to Change Variable Modes in Figma and Build Dark ModeSet up Light and Dark modes in one Figma color collection, switch a frame or page with Apply variable mode, and fix modes that won't change in prototypes.
- How to Create Text Styles and Color Styles in FigmaCreate text and color styles in Figma, organise them into folders, edit or delete them, fix styles not showing in other files, and know when to use variables.
- How to Create Variables in FigmaCreate Figma variables from the Variables tab, pick the right type, group and duplicate them, delete the ones you don't need and clear leftover used variables.
- How to Make Design Specs in FigmaWhat a Figma design spec should include, how to build a component spec template by hand, what Dev Mode already covers, and how to generate specs with Autospec.
- How to Create and Publish a Library in FigmaCreate a Figma library: build components, styles or variables in one file, then Assets → Libraries → Publish. Plan and seat rules, drafts, hiding assets.
- How to make a GIF in FigmaMake a GIF in Figma from frames with a plugin, export a Figma Motion animation as GIF, or record a prototype. Steps, loop and timing settings, and trade-offs.
- Figma Annotations: How They Work and Who Can See ThemHow Figma annotations work in Design and Dev Mode, which seats can add and view them, how they differ from comments, and when an annotation plugin helps.
