Skip to content
install

TWO BUILDS9 browsers

Chromelisting in reviewFirefoxlisting in reviewBravelisting in reviewOperalisting in reviewEdgelisting in review4 moreChromium browsers: Arc, Vivaldi, Chromium, Opera GXthe Chrome build

diagnostic · one of 29free, no counter

Font faces

Which @font-face rules does this page declare, and does anything use them?

A `@font-face` block is a declaration, not a download - the browser fetches it only if something matches. So a stylesheet can declare nine weights while the page uses three, and the other six are dead text in a file everybody has to download. This lists the declarations beside what the page actually resolved to.

Reach itPress +K on any tab and type font faces.Ctrl+Kon Windows and Linux

Every @font-face the page declares, and what each one costs
readsfont-face rules and what text resolves to
writesnothing
sendsnothing
formatseach source listed with its format hint
font-displayreported, with what it means for first paint
unuseda declaration nothing matches is named
planfree
Add LoupeKit- opens the list of browsers it can be installed in

TWO BUILDS9 browsers

Chromelisting in reviewFirefoxlisting in reviewBravelisting in reviewOperalisting in reviewEdgelisting in review4 moreChromium browsers: Arc, Vivaldi, Chromium, Opera GXthe Chrome build

in the panel · free, no counter

section#about

What this actually is

On any site with a webfont stack, before adding a weight, and during a cleanup - a declared face nothing uses is the safest thing on a page to delete.

section#asked

Asked about this diagnostic

Is a declared face that is unused a problem?

Only the declaration is wasted - the browser does not fetch a face nothing matches. It is still worth removing, because the next person to read the stylesheet will assume it is in use.

What does font-display: block actually cost?

Up to three seconds of invisible text while the file loads. `swap` shows a fallback immediately and reflows when the face arrives; which trade-off is right is a design decision, and the row reports rather than grades it.

Why does unicode-range matter?

Because it decides whether a file is fetched at all. A Cyrillic subset on a page with no Cyrillic is never downloaded, which is the whole reason subsetting works.

How is this different from Font loading?

This lists the declarations. *Font loading* is about what happened at runtime - which families resolved and which quietly fell back to a system face.

Add LoupeKit- opens the list of browsers it can be installed in

TWO BUILDS9 browsers

Chromelisting in reviewFirefoxlisting in reviewBravelisting in reviewOperalisting in reviewEdgelisting in review4 moreChromium browsers: Arc, Vivaldi, Chromium, Opera GXthe Chrome build

63 of these · no host permissions · three free audits