Last updated
Was this helpful?
Last updated
Was this helpful?
Font Weight Tokens define the thickness and styling of the characters related to the Font Family as an individual property to be composed within a . It is not intended to be applied to text elements directly.
Font Weight defines the thickness of each character/glyph in the Font Family. Font Weight design decisions are typically used to communicate visual hierarchy or emphasize text elements.
bold
bold-italic
bold-wide
bold-wide-italic
The value of a Font Weight Token must be identical to the text string value for Font weight (plus styling) in the Figma design panel due to limitations from Figma (plugin API).
When writing your Font Weight Token values, pay close attention to:
Spelling
Spacing
Punctuation
Use of capital letters
To ensure your Font Weight Token values are an exact match to what Figma has, you can:
Carefully type it out, paying attention to the syntax in Figma.
Save your Font Family and Font Weight pairs as text styles in Figma, then import them into the plugin to see how they appear.
Select the value from the Tokens Studio menu (works for Typography composite Tokens only), pictured below.
You can enter any of these numeric raw values in the table below into the Font Weight Token, and the plugin will convert them to the corresponding resolved value for the Font Family Token they are paired with.
Keep in mind that your chosen Font Families may not support all Font Weights.
If you enter an incompatible value with your Font Family, the plugin will send an error message when you try to apply the Token or Export as Styles in Figma.
100
Thin Hairline
200
Extra Light ExtraLight Ultra Light UltraLight extraleicht
300
Light leicht
400
Regular Normal buch
500
Medium kraeftig kräftig
600
Semibold SemiBold Semi Bold DemiBold Demi Bold halbfett
700
Bold dreiviertelfett
800
ExtraBold Extra Bold UltraBold Ultra Bold fett
900
Black Heavy extrafett
950
Extra Black Ultra Black
Recall that Figma combines the thickness of letters with other text styling properties, like the slant or posture of the glyphs/characters, to create their unique Font Weight property.
This is written differently depending on the Font Family.
For example, 600 from the chart above and italic style would appear in Figma's Font Weight property as
Inter = Semi Bold Italic
Source Sans Pro = SemiBold Italic
SF Pro = Semibold Italic
This doesn't match the way font weights, font families, and their styles typically work in code. It also means that if you use the numeric value, the plug-in cannot communicate any additional styling properties (like italics) that Figma combines.
If you are converting your Tokens between numeric and string values and you've already exported to Figma as a Style with Variable References, you may need to delete the Variable from the Figma collection.
Figma doesn't allow the changing of a Variable type, so by deleting that single Variable in Figma, when you export the Typography Token as a Style with Variable References, the Plugin will create the variable with the new Token Type.
When trying to reference another Token as the Value for a Font Weight Token, you will see Tokens in the dropdown list that are:
Living in Token Sets that are currently active.
In the left menu on the plugin's Tokens page, a checkmark is visible next to the Token Set name.
Token Type is compatible:
The same = fontWeights
number
dimension
"The weight of the typography. The value of this property MUST be a valid font weight or a reference to a font weight token." - 9.7. Typography
Tokens Studio has approached Font Weight Token differently than how they are defined in the current spec to support the unique way that Figma combines the Font Weight and additional styling properties.
When you use Style Dictionary as a part of your design-to-code pipeline, these text string values will be transformed into numeric values which align with the W3C specification and how these properties work in CSS.
In Tokens Studio, the Font Weight Token has a unique syntax in code which identifies if the token is:
An independent property Token
Part of a Typography Composite Token
Looking at the JSON format, the "type"
is written in plural "fontWeights
" when the Font Weight Token is defined as an independent property Token.
This example shows a Font Weight property Token named font-weight-default
with its value as a text string "bold"
(see line 2).
This is in contrast to the Typography Composite Token, which has the property "type"
written in the singular "fontWeight"
.
This example shows a Typography Composite Token with the Font Weight property Token named font-weight-default
referenced as the value (see line 5).
When transforming Font Weight Tokens, there are specific configurations to be aware of.
Recall that Figma combines the fontStyle
and fontWeight
properties into a single text string value. If this is true within your tokens, you'll want to look into the optional transform to add a separate fontStyle token
to be included in the CSS shorthand.
The preprocessor in the SD-Transforms package will automatically convert the Tokens Studio specific Token Type of fontWeights
to align with the DTCG Format Token Type of fontWeight
.
Font Weight Token entered as a text string that needs to be converted to its numeric value so it matches CSS.
Font Weight as a part of Typography Composite Tokens require the SD-Transforms option to expand composite Tokens into multiple Tokens
.
Make sure you look at the generic SD-Transforms package to include this option, which allows you to further customize this transformation further using Style Dictionary.
Mentioned in this doc:
Style Dictionary - https://styledictionary.com/
None yet
None
In this property is called font-weight
.
Font Weight in is written differently for each Font Family. It also combines the font-style property. So, for one Font Family, you might see several Font Weights:
In , font-style
and font-weight
are defined as independent properties.
To work around this limitation, we've into the plug-in, which allows the value of a Font Weight Token to be written in its numerical value, like 400
or 700
, and the plugin translates it into a text string that Figma recognizes.
Font Weight is an official Token Type in the in the W3C Design Token Community Group specifications.()
It is mentioned as a required part of a
→
→
→
→
SD-Transforms -
Design Tokens Community Group -
Design Tokens Community Group -
Design Tokens Community Group -
Design in Figma -
MDN Web Docs -
MDN Web Docs -
Font Weight + Font Family Pairs explained by
Import Typography Styles from Figma into Tokens Studio -
Tokens Studio Plugin GitHub -
💡 Something to share?
However, like all Token Types, you can "force" a reference by manually entering the Token Name between curly brackets.
For example {token.name.here}
Jump to the guide on Token Values with References by selecting the card below to learn more.
Engineers typically transform Tokens used in code with , which is tool-agnostic. Tokens coming from Tokens Studio require an additional step: , an npm package that prepares Tokens for Style Dictionary.
🐞 If you are experiencing an issue not listed here, please reach out to us on the Troubleshooting channel of our , , or send us an email support@tokens.studio
💌 Visit to contribute or subscribe to updates.