Import and export
Moving a whole project in and out of Syntope Tokens as files. Both start at the Import / Export icon in the footer.
Export
export opens export project. It writes the complete last saved project: every set, theme group, theme, order, theme in use and reference. Unsaved JSON drafts are not included.
| Mode | Downloads | Contents |
|---|---|---|
| project JSON | design-tokens.resolver.json |
One bundled DTCG Resolver document |
| project ZIP | design-tokens.zip |
design-tokens.resolver.json and one DTCG Format file per set, at tokens/<location>.tokens.json |
The files stay valid DTCG. Syntope data sits in $extensions under eu.syntope.*. Layer bindings, links to Figma variables and undo history are not in the files.
If tokens have broken references, the dialog names them. The files keep them as written, so repair them first if other tools read the export. An export is refused if a calculated value cannot be worked out: the message names the token to fix.
To keep a repository up to date, use sync.
Import
Every import replaces the whole project
All token sets and themes are replaced by the contents of the file. Nothing is merged. A file with one set still replaces everything.
Undo restores your previous project while the plugin stays open.
- import opens import tokens. Choose single JSON or project package.
- Select a file or folder. Nothing changes yet.
- Read the review: the counts, then authored token changes, composition changes and default resolved-value changes.
- Press import. If anything would be removed, Replace your tokens and themes? lists it and counts the layers that use removed tokens. Confirm with replace.
Accepted formats
| Mode | What you select | Read as |
|---|---|---|
| single JSON | A DTCG Format document | One token set, named after the file |
| single JSON | A bundled DTCG Resolver document, such as a project JSON export | A complete project |
| single JSON | A Tokens Studio single file ($themes or $metadata at the top level) |
A converted project |
| project package | select ZIP or select folder: design-tokens.resolver.json with its Format files |
A complete project |
| project package | select ZIP or select folder: a Tokens Studio export ($metadata.json or $themes.json, one file per set) |
A converted project |
An import is refused as a whole, and nothing changes, in these cases:
| Cause | Do instead |
|---|---|
| A folder of DTCG files with no Resolver file | Add design-tokens.resolver.json listing them. One wrapping folder is ignored |
| A Resolver file with another name | Rename it to design-tokens.resolver.json |
| A non-JSON or invalid file in a Resolver package, or a JSON file the Resolver does not reference | Remove or fix it. Files the operating system adds (.DS_Store, __MACOSX) are ignored |
A single Format file with an extra dot in its name, as in tokens.v2.json |
Rename the file |
A Resolver with more than one set, a set after a modifier, or a modifier without default |
Use one set first, then the modifiers. The message names the field |
| A reference to a token no set defines | Fix the file. The review names each token |
Tokens Studio exports
The conversion is one-way. Sets stay sets and themes become theme groups. A set no theme enables goes into Base.
One bad token does not stop the import. It is left out, with every token that depends on it, and conversion notes lists each one as left out, changed or information, with the reason. The notes are not saved anywhere: read them before you confirm.
What survives an import
Sets match by ID, then by location. Theme groups match by ID, then by name. Tokens match by path inside a matched set. Matching tokens stay bound to their layers. Layers that use a removed token keep a broken link, see inspecting bindings.
Exporting a project and importing the result into the same file changes nothing.
There is no merge. To add tokens to a project, paste them into a set in the JSON view, in a new set if you like.
What replaces what
| Action | Scope |
|---|---|
| Import dialog | Whole project |
| pull | Whole project, with the same review |
| save json in the JSON view | One token set |
| Import through Syntope MCP | Only into an empty project |
