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

The FontFaceSet interface of the CSS Font Loading API manages the loading of font-faces and querying of their download status.

Properties

FontFaceSet.status Read only
Indicates the font-face's loading status. It will be one of 'loading' or 'loaded'.
FontFaceSet.ready Read only
Promise which resolves once font loading and layout operations have completed.

Events

FontFaceSet.onloading
An EventListener called whenever an event of type loading is fired, indicating a font-face set has started loading.
FontFaceSet.onloadingdone
An EventListener called whenever an event of type loadingdone is fired, indicating that a font face set has finished loading.
FontFaceSet.onloadingerror
An EventListener called whenever an event of type loadingerror is fired, indicating that an error occurred whilst loading a font-face set.

Methods

FontFaceSet.add()
Adds a font to the font set.
FontFaceSet.check()
A Boolean that indicates whether a font is loaded, but doesn't initiate a load when it isn't.
FontFaceSet.clear()
Removes all fonts from the font set.
FontFaceSet.delete()
Removes a font from the font set.
FontFaceSet.load()
Returns a Promise which resolves to a list of font-faces for a requested font.

Specifications

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

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
FontFaceSet
Experimental
Chrome Full support 35Edge ? Firefox Full support 41IE ? Opera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android Full support YesSafari iOS Full support 10Samsung Internet Android ?
add
Experimental
Chrome Full support 48Edge ? Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android ?
check
Experimental
Chrome Full support 35Edge ? Firefox Full support 41IE ? Opera ? Safari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android ? Safari iOS Full support YesSamsung Internet Android ?
clear
Experimental
Chrome Full support 48Edge ? Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android ?
delete
Experimental
Chrome Full support 48Edge ? Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android ?
load
Experimental
Chrome Full support 35Edge ? Firefox Full support 41IE ? Opera Full support 35Safari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android Full support 35Safari iOS Full support YesSamsung Internet Android ?
onloading
Experimental
Chrome Full support 48Edge ? Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android ?
onloadingdone
Experimental
Chrome Full support 48Edge ? Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android ?
onloadingerror
Experimental
Chrome Full support 48Edge ? Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android ?
ready
Experimental
Chrome Full support 35Edge ? Firefox Full support 41IE ? Opera Full support 35Safari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support 41Opera Android Full support 35Safari iOS Full support YesSamsung Internet Android ?
status
Experimental
Chrome Full support 48Edge ? Firefox Full support YesIE ? Opera Full support 35Safari Full support 10WebView Android Full support 48Chrome Android Full support 48Firefox Android Full support YesOpera Android Full support 35Safari iOS Full support YesSamsung Internet Android ?
Available in workers
Experimental
Chrome Full support 69Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

Document Tags and Contributors

Last updated by: aduh95,