This page is not complete.

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The FontFace() constructor creates a new FontFace object.


var fontFace = new FontFace(family, source, descriptors);


Specifies a name that will be used as the font face value for font properties. Takes the same type of values as the font-family descriptor of @font-face .
The font source. This can be either:
  • A URL
  • Binary font data
descriptors Optional
A set of optional descriptors passed as an object. It can have the following keys:
  • family: Family
  • style: Style
  • weight: Weight
  • stretch: Stretch
  • unicodeRange: Unicode range
  • variant: variant
  • featureSettings: Feature settings


async function loadFonts() {
    const font = new FontFace('myfont', 'url(myfont.woff)');
    // wait for font to be loaded
    await font.load();
    // add font to document
    // enable font with CSS class


Specification Status Comment
CSS Font Loading Module Level 3
The definition of 'FontFace Constructor' in that specification.
Working Draft Initial definition

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
FontFace() constructorChrome Full support 35Edge ? Firefox Full support 41IE ? Opera Full support 22Safari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android Full support 22Safari iOS Full support 10Samsung Internet Android ?


Full support  
Full support
Compatibility unknown  
Compatibility unknown

See also

Document Tags and Contributors

Contributors to this page: mdnwebdocs-bot, jpmedley, dd-pardal, dreitzner, jsx
Last updated by: mdnwebdocs-bot,