The font-variation-settings CSS descriptor allows authors to specify low-level OpenType or TrueType font variations in the @font-face rule.


/* Use the default settings */
font-variation-settings: normal;

/* Set values for OpenType axis names */
font-variation-settings: "xhgt" 0.7;



Text is laid out using default settings.

<string> <number>

When rendering text, the list of OpenType axis names is passed to the text layout engine to enable or disable font features. Each setting is always a <string> of 4 ASCII characters, followed by a <number> indicating the axis value. If the <string> has more or fewer characters or contains characters outside the U+20 - U+7E codepoint range, the whole property is invalid. The <number> can be fractional or negative.

Formal definition

Related at-rule@font-face
Initial valuenormal
Computed valueas specified

Formal syntax

normal | [ <string> <number> ]#


Setting font weight and stretch in a @font-face rule

@font-face {
  font-family: 'OpenTypeFont';
  src: url('open_type_font.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-variation-settings: 'wght' 400, 'wdth' 300;


CSS Fonts Module Level 5 (CSS Fonts 5)
# font-rend-desc

Browser compatibility

BCD tables only load in the browser

See also