CSS3 Web Fonts

With CSS3, web designers are no longer forced to use only web-safe fonts

CSS3 Web Fonts - The @font-face Rule

The @font-face rule allows custom fonts to be loaded into a webpage. .

With the help of this rule, designs are no longer limited to the fonts that are installed on a user's computer.

Your "own" fonts are defined within the CSS3 @font-face rule.

Browser Support

The numbers in the table specify the first browser version that fully supports the property.

@font-face 4.0 12.0 9.0 3.5 3.2 10.0

Different Font Formats

TrueType Fonts (TTF)

TrueType is a font standard developed in the late 1980s, by Apple and Microsoft. TrueType is the most common font format for both the Mac OS and Microsoft Windows operating systems.

OpenType Fonts (OTF)

OpenType is a format for scalable computer fonts. It was built on TrueType, and is a registered trademark of Microsoft. OpenType fonts are used commonly today on the major computer platforms.

The Web Open Font Format (WOFF)

WOFF is a font format for use in web pages. It was developed in 2009, and is now a W3C Recommendation. WOFF is essentially OpenType or TrueType with compression and additional metadata. The goal is to support font distribution from a server to a client over a network with bandwidth constraints.

The Web Open Font Format (WOFF 2.0)

TrueType/OpenType font that provides better compression than WOFF 1.0.

SVG Fonts/Shapes

SVG fonts allow SVG to be used as glyphs when displaying text. The SVG 1.1 specification define a font module that allows the creation of fonts within an SVG document. You can also apply CSS to SVG documents, and the @font-face rule can be applied to text in SVG documents.

Embedded OpenType Fonts (EOT)

EOT fonts are a compact form of OpenType fonts designed by Microsoft for use as embedded fonts on web pages.

Browser Support for Font Formats

The numbers in the table specifies the first browser version that fully supports the font format.

Font format
TTF/OTF 9.0* 4.0 3.5 3.1 10.0
WOFF 9.0 5.0 3.6 5.1 11.1
WOFF2 Not supported 36.0 35.0* Not supported 26.0
SVG Not supported 4.0 Not supported 3.2 9.0
EOT 6.0 Not supported Not supported Not supported Not supported

*IE: The font format only works when set to be "installable".

*Firefox: Not supported by default, but can be enabled (need to set a flag to "true" to use WOFF2).

Using The Font

Each form of the font family must be declared using the @font-face rule

To use the font for an HTML element, refer to the name of the font (wefont) through the font-family property:


@font-face {
    font-family: wefont;
    src: url(sansation_light.woff);

div {
    font-family: wefont;
Try it yourself »

Using Bold Text

You must add another @font-face rule containing descriptors for bold text:


@font-face {
    font-family: wefont;
    src: url(sansation_bold.woff);
    font-weight: bold;
Try it yourself »

The file "sansation_bold.woff" is another font file, that contains the bold characters for the Sansation font.

Browsers will use this whenever a piece of text with the font-family "wefont" should render as bold.

This way you can have many @font-face rules for the same font.