Frequently Asked Questions

Common questions and answers about Variables Studio

💡 Quick Tip

Use Cmd/Ctrl + F to search this page for keywords related to your question.

General

Is Variables Studio free?

Yes! Variables Studio is completely free and open source. No hidden fees, no premium features.

Does Variables Studio send my data to a server?

No. Variables Studio operates 100% locally within Figma. No data is ever sent to external servers. All export, import, and swap operations happen entirely on your machine.

Which variable types are supported?

All of them! Variables Studio supports Color, Number, String, and Boolean variables with full preservation of modes, scopes, and aliases.

Can I use this with Team Libraries?

Variables Studio works alongside Team Libraries. You can export variables from a library file and import them into other files, making it useful for distributing variables without publishing to Team Libraries.

Export

What format does Variables Studio export to?

Variables Studio exports to clean, human-readable JSON format. The structure is hierarchical with collections, modes, and variables clearly organized.

Can I export multiple collections at once?

Yes! You can select multiple collections and export them all in a single JSON file. Use the checkboxes or 'Select All' button.

Are variable aliases preserved in export?

Absolutely. Aliases (references between variables) are exported and will be correctly restored when importing.

Can I use the exported JSON with other tools?

Yes. The JSON format is clean and structured, making it easy to use with build tools, design token parsers, or custom scripts.

Import

What happens if I import a collection that already exists?

Variables Studio will detect the conflict and ask you to choose: Replace (overwrite existing) or Rename (create a copy with '-copy' suffix).

Why do I see mode conflicts?

Mode conflicts occur when your JSON has different modes than the existing collection. For example, your file has 'Light, Dark' but the JSON has 'Light, Dark, High Contrast'. Choose Replace to update modes or Rename to keep both.

Can I import into a different file?

Yes! Export from one file, then open a different file and import. This is perfect for sharing variables between projects.

What if my import fails?

Check that your JSON follows the correct format. Download the sample JSON file from the Import tab to see the expected structure. Common issues are: wrong format, invalid values, or incompatible types.

Do I need to resolve all conflicts before importing?

No. You can use 'Replace All' or 'Rename All' to quickly resolve all conflicts with the same strategy.

Swap

How does Variables Studio match variables when swapping?

Variables are matched by name. If you have 'Primary/500' in both source and target collections, they'll be matched and swapped.

What if a variable doesn't exist in the target?

If no match is found, that variable binding won't be changed. The preview will show you which variables couldn't be matched.

Can I undo a swap?

Yes! Swap operations are fully integrated with Figma's undo system. Press Cmd/Ctrl + Z to undo.

Does swap work across different collections?

Yes. You can swap from any collection/mode to any other collection/mode, as long as the variable names match.

What's the difference between swapping on page vs file?

Page scope only affects layers on the current page. File scope affects all layers in the entire file. Selection scope only affects selected layers.

Troubleshooting

Why isn't my JSON file recognized?

Make sure the JSON follows the correct format. Download a sample file from the Export or Import tab to see the expected structure. Check for syntax errors using a JSON validator.

Variables import but values are wrong

This might happen if modes are mismatched. Check that your JSON modes match your collection modes exactly (case-sensitive). Also verify that values are in the correct format (colors as hex, numbers as numbers, etc.).

Aliases aren't working after import

Aliases are created after all variables are imported. If the referenced variable doesn't exist in the file, the alias can't be created. Make sure all referenced variables are included in the import.

Swap preview shows no affected layers

This means no layers in your scope are using variables from the source collection/mode. Try expanding the scope (page → file) or check that you selected the correct source.

Plugin is slow with large files

This is normal for files with hundreds of collections or thousands of variables. Be patient during import/export operations. For swapping, use smaller scopes (selection or page) instead of entire file.

Best Practices

Should I backup my variables before importing?

Yes! Always export your current variables before doing a large import with Replace strategy. This way you can revert if needed.

How should I organize my variables for swapping?

Use consistent naming across collections and modes. For example, if you have 'Primary/500' in Light mode, also have 'Primary/500' in Dark mode for reliable swapping.

Can I use Variables Studio for version control?

Absolutely. Export your variables to JSON and commit to Git. This gives you full version history of your design tokens.

What's the best way to share variables between files?

Export from the source file, then import into the target file. Use Rename strategy if you want to keep both versions for comparison.

Still Have Questions?

Can't find what you're looking for? We're here to help!

Related Documentation