Font weight
A numeric weight or a DTCG weight keyword.
Value format
{ "$type": "fontWeight", "$value": 600 }{ "$type": "fontWeight", "$value": "semi-bold" }| Form | Allowed |
|---|---|
| Number | An integer from 1 to 1000 |
| Keyword | thin, hairline, extra-light, ultra-light, light, normal, regular, book, medium, semi-bold, demi-bold, bold, extra-bold, ultra-bold, black, heavy, extra-black, ultra-black |
What you can type
Type a number, or pick from the preset dropdown (100, 200, … 950). Keywords can be typed directly.
Applying to Figma
Default target: Font weight. Text layers only.
Standalone apply is unreliable
The value is used verbatim as the Figma font style name. Figma style names
are strings like Regular, Semi Bold, Bold — so:
600looks for a style literally named"600"→ not foundsemi-boldlooks for"semi-bold"→ not found (Figma calls it"Semi Bold")
In practice a standalone font-weight token only applies when its value happens to exactly match a Figma style name.
Use a typography token instead when you need the
weight to land on a layer. Its applicator maps numeric weights to the nearest
Figma style name — 600 → Semi Bold — and preserves italic.
Authoring, validation, export, and sync are unaffected: a fontWeight token
round-trips through JSON correctly regardless.
Weight → style name reference
This is the mapping the typography applicator uses when it resolves a weight:
| Weight | Figma style |
|---|---|
| 100 | Thin |
| 200 | Extra Light |
| 300 | Light |
| 400 | Regular |
| 500 | Medium |
| 600 | Semi Bold |
| 700 | Bold |
| 800 | Extra Bold |
| 900 | Black |
A weight in between snaps to the nearest entry.