When I look back at the last four years that I’ve spent learning everything I could about web fonts and how web fonts load, I can distill it all down to a small checklist of ideals that I continue to chase. Our goal as web developers is to maximize the experience and raise user expectations to the level of what the web is capable of delivering, but also to manage our performance budgets to ensure that we are fulfilling the promise of the web—it’s ubiquity. This checklist should help you deliver on those two often competing ideals.

The Font Loading Checklist #

🚦 Start Important Font Downloads Earlier #

(Start a Web Font load)

Web fonts don’t start downloading until they’re found to be used in content, so it’s often late in the page load. We need to tell the browser to start downloading our high priority web fonts sooner.

Strategy: Use preload

🏎 Prioritize Readable Text #

(Behavior while a Web Font is loading)

This means absolutely no invisible text. This is known as the flash of invisible text, or FOIT. We can use flash of unstyled text (FOUT) strategies to prioritize system fonts during web font load.

🐢🐇 Make Font Files Smaller #

(Reduce Web Font load time)

Guess what: Smaller file downloads finish sooner.

Strategy: Use WOFF2 formats (compression built in)

formats (compression built in) Strategy: Subset your fonts, if language and licensing requirements allow.

Check out Glyphhanger to help with both of these strategies.

🏁 Reduce Movement during Page Load #

(Behavior after a Web Font has loaded)