CSS Font Loading API

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

The CSS Font Loading API provides events and interfaces for dynamically loading font resources.

Interfaces

FontFace
Represents a single usable font face.
FontFaceSet
An interface loading font faces and checking their download statuses.
FontFaceSource
A mixin providing all of the fonts used in font-related operations, unless defined otherwise. It defines the FontFaceSources.fonts property available to Document and WorkerGlobalScope.
FontFaceSetLoadEvent
Fired whenever a FontFaceSet loads.

Specifications

Specification Status Comment
CSS Font Loading Module Level 3 Working Draft Initial definition.

Browser compatibility

FontFace interface

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
FontFaceChrome Full support 35Edge Full support 79Firefox Full support 41IE No support NoOpera 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 4.0
FontFace() constructorChrome Full support 35Edge Full support 79Firefox Full support 41IE No support NoOpera 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 4.0
display
Experimental
Chrome Full support 60Edge Full support 79Firefox Full support 58IE No support NoOpera Full support 47Safari Full support 11WebView Android Full support 60Chrome Android Full support 60Firefox Android No support NoOpera Android Full support 44Safari iOS No support NoSamsung Internet Android Full support 8.0
family
Experimental
Chrome Full support 35Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
featureSettings
Experimental
Chrome Full support 35Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
load
Experimental
Chrome Full support 45
Full support 45
No support 35 — 45
Notes
Notes Before Chrome 45, the returned promise resolved with void instead of a FontFace object as required by the specification.
Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 45
Full support 45
No support 37 — 45
Notes
Notes Before WebView 45, the returned promise resolved with void instead of a FontFace object as required by the specification.
Chrome Android Full support 45
Full support 45
No support 35 — 45
Notes
Notes Before Chrome 45, the returned promise resolved with void instead of a FontFace object as required by the specification.
Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 5.0
Full support 5.0
No support 4.0 — 5.0
Notes
Notes Before Samsung Internet 5.0, the returned promise resolved with void instead of a FontFace object as required by the specification.
loaded
Experimental
Chrome Full support 45
Full support 45
No support 35 — 45
Notes
Notes Before Chrome 45, the returned promise resolved with void instead of a FontFace object as required by the specification.
Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 45
Full support 45
No support 37 — 45
Notes
Notes Before WebView 45, the returned promise resolved with void instead of a FontFace object as required by the specification.
Chrome Android Full support 45
Full support 45
No support 35 — 45
Notes
Notes Before Chrome 45, the returned promise resolved with void instead of a FontFace object as required by the specification.
Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 5.0
Full support 5.0
No support 4.0 — 5.0
Notes
Notes Before Samsung Internet 5.0, the returned promise resolved with void instead of a FontFace object as required by the specification.
status
Experimental
Chrome Full support 35Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
stretch
Experimental
Chrome Full support 35Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
style
Experimental
Chrome Full support 35Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
unicodeRange
Experimental
Chrome Full support 35Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
variant
Experimental
Chrome Full support 35Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
weight
Experimental
Chrome Full support 35Edge Full support 79Firefox Full support YesIE No support NoOpera Full support YesSafari Full support 10WebView Android Full support 37Chrome Android Full support 35Firefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support 4.0
Available in workersChrome Full support 69Edge Full support 79Firefox ? IE No support NoOpera ? Safari ? WebView Android Full support 69Chrome Android Full support 69Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android Full support 10.0

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.