Token types overview
Syntope Engine implements the 13 token types of the DTCG 2025.10 specification and adds one extension, string. It refuses any other $type. This page is the matrix. Each type has its own page with the exact value format and its behavior in Figma.
| Type | $type |
Composite | Authoring in Syntope Tokens | Applying to layers | Figma variable | Status |
|---|---|---|---|---|---|---|
| Color | color |
No | Text field and picker | fill, stroke, shadow color, gradient stop color | COLOR |
Stable |
| Dimension | dimension |
No | Text field | Size, radius, border width, spacing, text metrics, shadow metrics | FLOAT, px values only |
Partial |
| Font family | fontFamily |
No | Text field, commas make a list | Font family of text layers | STRING, one name only |
Partial |
| Font weight | fontWeight |
No | Text field and presets | Font weight of text layers | FLOAT |
Partial |
| Duration | duration |
No | Text field | None | None | Partial |
| Cubic bezier | cubicBezier |
No | Four number fields | None | None | Partial |
| Number | number |
No | Text field | Opacity, rotation, layout grow, every dimension target | FLOAT |
Stable |
| Stroke style | strokeStyle |
Yes | Keyword field or dash pattern | Dash pattern and cap, three of eight keywords | None | Partial |
| Border | border |
Yes | Three fields | Stroke paint, weight and dash pattern | None | Partial |
| Transition | transition |
Yes | Three fields | None | None | Partial |
| Shadow | shadow |
Yes | Layer builder | Drop and inner shadows | None | Partial |
| Gradient | gradient |
Yes | Stop builder | None | None | Partial |
| Typography | typography |
Yes | Field group | Font, size, line height, letter spacing, paragraph and case settings | None | Stable |
| String | string (extension) |
No | Text field | None | None | Partial |
Notes
- Status. Stable means the type works end to end as documented. Partial means it works, but a capability is missing or incorrect: it cannot reach layers, some valid values do not apply or map, or the token dialog gets something wrong. Its page says exactly which. Figma has no variable type for composite values, so a missing variable alone does not make a composite type partial.
- Composite. DTCG defines stroke style as a composite type. The plugin lists it under basic types.
- Authoring. Every type can be created in the token dialog and edited in the JSON editor. The dialog converts what you type into the DTCG value. A file must hold that value, not the typed text.
- Validation. Every save is checked against the DTCG 2025.10 schema. A value that does not fit is not saved.
- Applying. Choose a target under Apply token in the token’s menu. Apply targets lists each target. Each Apply is one step in Figma’s undo history. A target the layer cannot take is reported, not skipped silently. A property set by a Figma variable stays as it is until you confirm with reapply in Inspect. For a type with no target, Apply token is disabled with “Tokens of this type cannot be applied to layers.”
- Figma variables. Mapping runs one way, from tokens to variables. Tokens that cannot be mapped are left out of the sync, and show what is left out names each one with the reason. See Figma variables.
- Calculated tokens. A dimension or number with a formula, or a color with a change such as lighten or mix, keeps its calculation in
$extensionsand resolves as usual. These usually come from a Tokens Studio import. The token dialog shows the calculated value, and a new value replaces the calculation. To change the calculation itself, use the JSON editor. - Changing a type. The value is read again by the new type’s rules, so a value that does not fit is refused. Figma fields, a formula, a color change or a transition property from the old type are removed.
