Static vs Variable Fonts: What’s the Difference?
If you work with typography for the web, you have likely encountered the term variable fonts. They represent the most significant evolution in font technology in decades — a single font file that contains an entire range of weights, widths, and styles along continuous axes, replacing the traditional model of one file per variant.
Understanding static vs variable fonts matters for web performance, design flexibility, and how you serve typography to users. This guide explains what each type is, how variable fonts work, and when to choose one over the other.
What Are Static Fonts?
Static fonts are the traditional model. Each weight and style of a typeface is a separate font file. If you want to use a typeface in Regular, Bold, and Italic, you need three files. Add Light, Medium, Semi-Bold, Bold Italic, and Extra-Bold, and you are looking at seven or eight files.
Static Font Characteristics
- One file per variant: Regular.ttf, Bold.ttf, Italic.ttf, BoldItalic.ttf — each combination of weight and style requires its own file.
- Fixed values: A static “Bold” font has one specific weight (typically 700). There is nothing between Regular (400) and Bold (700) unless the type designer created a separate Medium (500) or Semi-Bold (600) file.
- Mature technology: Static fonts use the OTF and TTF formats that have been standard for decades. Every tool, application, and operating system supports them without exception.
- Cumulative file size: Each additional weight or style you add to your site is another HTTP request and another chunk of data to download. A complete type family with 12 variants might total 500 KB to 1 MB or more.
Static fonts work perfectly well. Most websites use them today, and there is nothing wrong with the approach — especially if you only need two or three variants of a typeface.
What Are Variable Fonts?
A variable font is a single font file that contains one or more axes of variation. Instead of discrete, fixed styles, a variable font lets you access any value along a continuous range — any weight from 100 (Thin) to 900 (Black), any width from condensed to expanded, and any slant from upright to italic.
Variable Font Characteristics
- Single file, many styles: One variable font file replaces what previously required a dozen or more static files. A single .woff2 variable font can contain every weight, width, and style in the family.
- Continuous axes: Instead of jumping from Regular (400) to Bold (700), you can set the weight to 450, 523, or any value in between. The font interpolates smoothly between defined master points.
- Registered axes: The OpenType specification defines five standard axes — weight (wght), width (wdth), italic (ital), slant (slnt), and optical size (opsz). These use standardized CSS properties.
- Custom axes: Type designers can create custom axes for any property they choose — things like serif size, x-height, grade, or decorative elements. These are accessed through CSS
font-variation-settings. - Smaller total size: A variable font containing all weights is typically larger than a single static font but significantly smaller than the combined size of all equivalent static fonts.
How Variable Fonts Work
Variable fonts work through interpolation. The type designer creates master drawings at the extremes of each axis — for example, a Thin master (weight 100) and a Black master (weight 900). The font technology then calculates every intermediate value mathematically.
Think of it like a blend slider. The Thin and Black masters are the endpoints. When you request weight 400, the font engine calculates what the letterforms should look like at 40 percent of the way between Thin and Black. At 650, it calculates 65 percent. The transitions are smooth and designed by the type designer to look correct at every point.
Some variable fonts include additional intermediate masters at critical points (like Regular and Bold weights) to ensure the interpolation produces optimal results throughout the range.
Using Variable Fonts in CSS
Variable fonts are controlled through standard CSS properties. The font-weight property accepts any numeric value, not just the traditional 100-900 multiples. Similarly, font-stretch controls the width axis and font-style controls italic and slant. For custom axes, the font-variation-settings property provides low-level access to any axis the font supports.
Key Differences: Static vs Variable Fonts
File Count vs File Size
Static fonts require many files for a complete family. A family with 8 weights plus italics means 16 files. A variable font replaces all 16 with one or two files (some families split Roman and Italic into separate variable files). The single variable font file is larger than any individual static file but substantially smaller than the combined total.
For a practical example: the static version of a popular Google Font in 6 weights might total 180 KB in WOFF2 format. The variable version of the same family might be 90 to 110 KB — a 40 to 50 percent total savings.
Design Flexibility
With static fonts, you are limited to the specific weights and styles the designer created as separate files. If Semi-Bold (600) was not produced, you cannot use it. Variable fonts give you access to every value along every axis. You can fine-tune weight, width, and other properties to exactly the value your design needs.
Animation Potential
Variable fonts can be animated using CSS transitions and animations. You can smoothly transition a headline from weight 300 to weight 700 on hover, or create loading indicators that pulse between font weights. Static fonts cannot be animated between weights — they snap from one discrete value to another.
Browser and Software Support
Variable font support in browsers is excellent. Chrome, Firefox, Safari, Edge, and Opera all support variable fonts fully. Global browser support exceeds 95 percent. Design tools including Figma, Sketch, and Adobe Creative Cloud all support variable fonts as well. Google Fonts has been expanding its variable font offerings and now serves them by default for supported families.
Benefits for Web Performance
The performance case for variable fonts is strongest when you need multiple weights or styles of a typeface. Here is why they matter for web typography:
- Fewer HTTP requests: One file instead of six or eight means fewer round trips to the server. On high-latency connections, this is significant.
- Smaller total download: When using three or more weights of a family, the variable font is almost always smaller than the equivalent static files combined.
- No FOUT between weights: With static fonts, if one weight loads before another, you see a flash of unstyled text. With a variable font, all weights are available as soon as the single file loads.
- Subsetting still works: Variable fonts can be subset to include only the characters you need (Latin only, for example), just like static fonts. This further reduces file size.
However, if you only need one weight of a typeface — say, Regular for body text and nothing else — a single static font file will be smaller than the variable equivalent. The performance benefit of variable fonts scales with the number of variants you actually use.
When to Use Static Fonts
- Using only one or two weights: If your design needs just Regular and Bold, two static files will likely be smaller than one variable font file.
- Legacy system requirements: Some older CMS platforms, email clients, or embedded systems may not support variable fonts.
- Desktop publishing: While Adobe apps support variable fonts, some print workflows and RIP systems may handle static fonts more reliably.
- Font not available as variable: Many typefaces, especially older or smaller foundry offerings, are only available as static fonts.
When to Use Variable Fonts
- Using three or more weights: This is the break-even point where variable fonts typically become smaller than the static equivalent.
- Design flexibility is important: When you want precise weight tuning or the ability to experiment with intermediate values during design.
- Animation or interactive typography: Variable fonts enable smooth weight and width transitions that static fonts cannot achieve.
- Performance-conscious web projects: For sites focused on responsive web design and Core Web Vitals, variable fonts reduce total font payload.
Frequently Asked Questions
Do variable fonts look different from static fonts?
At standard weight values (400, 700, etc.), a well-made variable font should look identical to its static counterpart. The masters are typically designed at the same points. At intermediate values, the quality depends on the type designer’s interpolation work.
Can I use variable fonts from Google Fonts?
Yes. Google Fonts has been transitioning its library to variable fonts and now serves variable versions by default for families that support them. You can also download variable font files directly from the Google Fonts website for self-hosting.
Do variable fonts work in email?
No. Email clients have extremely limited CSS support and do not support variable font features. Use system fonts or static web fonts for email.
Are variable fonts harder to implement?
Slightly. You need to understand how to reference variable font files in your CSS and how to use font-weight with numeric ranges rather than keywords. But the implementation is straightforward, and most modern CSS frameworks handle it well.
What is the WOFF2 format?
WOFF2 (Web Open Font Format 2) is the compression format used to serve fonts on the web. Both static and variable fonts should be served as WOFF2 for maximum compression. It is supported by all modern browsers.
Can I convert static fonts to variable fonts?
No. Variable fonts must be designed as variable from the source files, with interpolation-compatible masters. You cannot combine separate static font files into a variable font — the type designer must create it.
Final Verdict
Variable fonts are the future of typography on the web. They offer smaller combined file sizes, greater design flexibility, animation capabilities, and fewer HTTP requests. If you are using three or more weights of a typeface and the family is available as a variable font, it is the clear choice.
Static fonts remain perfectly valid when you need only one or two variants, when the typeface is not available as variable, or when system constraints require them. The two approaches coexist — variable fonts are not a replacement but an evolution that benefits complex typographic designs most.



