Payload Logo

Font Loading Is a Performance Decision, Not a Design One

Date Published

Close-up photograph of handwritten text on paper with pen and typography elements

A web font that hasn't loaded yet forces a choice: show fallback text that jumps and reflows once the real font arrives, or hide text entirely until it does. Neither is free, and the framework-level font tooling that automates subsetting and preloading exists specifically because most teams don't notice the trade-off until a Lighthouse score points at it.

Self-hosting fonts instead of pulling them from a third-party CDN removes an entire extra DNS lookup and connection from the critical path — a small, unglamorous change that often moves the needle on load time more than the font choice itself did.

The teams that get this right tend to treat font weight and variant count the same way they treat JavaScript bundle size: every additional weight is a file the browser has to fetch before that text renders correctly, and most designs use far fewer of them than the type scale in the design file suggests.