Skip to content

Font weight

Token typePartial$type: fontWeight2026-07-27

A numeric weight or a DTCG weight keyword.


Value format

{ "$type": "fontWeight", "$value": 600 }
{ "$type": "fontWeight", "$value": "semi-bold" }
FormAllowed
NumberAn integer from 1 to 1000
Keywordthin, 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:

  • 600 looks for a style literally named "600" → not found
  • semi-bold looks 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:

WeightFigma style
100Thin
200Extra Light
300Light
400Regular
500Medium
600Semi Bold
700Bold
800Extra Bold
900Black

A weight in between snaps to the nearest entry.