Should you use a variable font, or is that solving a problem you don’t have?
On this page
Reach for a variable font only when your design genuinely uses many weights or widths and would benefit from packing that range into one efficient file; if you are using two or three static weights, it is overkill. The deciding factor is how much of the font’s range you will actually deploy, not whether variable fonts are the current fashion. A variable font is a tool for designs that move across a continuum of weights, widths, or other axes. If your design lives at a few fixed points, a handful of static weights is simpler, lighter to reason about, and entirely sufficient. Match the tool to the real need.
The reason this is a usage question and not a trend question is that the payoff of a variable font is amortized range. A single variable file can contain everything from thin to black and every step between, often at a smaller total size than shipping many separate static weights, plus it lets you animate or fine-tune along an axis. That is genuinely valuable, but only if you use the range. Load a full variable file to render regular and bold and you have paid for a continuum you never touch, while two static weights would have loaded faster and kept your stack trivially simple. The technology is not the win; using its range is the win, and the range is exactly what most interfaces do not need.
Consider two products. The first is a data-rich editorial site with an expressive type system: a display headline that shifts weight as it scales, fine-tuned intermediate weights for different reading contexts, a condensed width for tables, and animated weight on hover. That design touches many points across at least two axes, and a variable font collapses what would have been a dozen static files into one tunable resource, which is exactly the case it was built for. The second is a typical marketing site or admin dashboard that uses regular for body and bold for headings, full stop. Here a variable font adds a heavier initial download and a more complex setup to deliver two weights you could have shipped as two small static files. Same technology, opposite verdict, and the only variable that changed is how much of the range the design actually consumes.
The exception is when other factors quietly tip the math. If you only need two weights today but the design system is clearly heading toward a broad, fluid type program, adopting a variable font early can be reasonable forward planning rather than overkill. And occasionally a single variable file for two weights happens to be smaller than two static files for a particular family, in which case the efficiency argument holds even at low usage. So the rule is not “never use one for a few weights,” it is “let real or near-term range justify it.” What you should refuse is adopting a variable font because it is the modern default, with no plan to use the range that makes it worthwhile.
Before you add a variable font, count the weights and widths your design will truly use. If that count is small and stable, ship static weights and move on. If the design spans a meaningful range now, or demonstrably will soon, the variable font earns its place. Reach for it only when the design uses enough of its range to justify it, and let usage, not hype, make the call.