Font Loading Performance: What Actually Works
Most font loading advice online barely affects real users. Here is the set of changes I have measured that actually move performance numbers. I have spent more time on font loading performance than on any other front-end topic in the past three years, and most of what I read online about the subject is either outdated or focused on the wrong metrics. The advice that dominates search results, preload your fonts, use font-display swap, self-host instead of using a CDN, is it is incomplete and often miscategorizes which changes matter for real users. Here is what I have actually measured moving the numbers in production, ranked by impact. The Change That Matters Most: Subsetting Your Fonts The single highest-impact change I have made on font performance is subsetting the font files to the character sets the site actually uses. A typical Latin variable font from Google Fonts includes coverage for Latin Extended, Vietnamese, and multiple other writing systems, and that coverage can double or triple the file size. When I subset a font to the Latin character range a given site uses, I routinely cut the file size by sixty percent or more. Subsetting is not a single step. I split the font into a Latin subset, a Latin Extended subset, and a Vietnamese subset, and I use the unicode-range CSS property to direct the browser to the right file based on the characters on the page.