Skip to content
FontsNotoIconsKnowledgeFAQ

Introducing variable fonts

The following guest article was written by Elliot Jay Stocks*

Variable fonts—officially known as OpenType Font Variations—remove the explicit distinctions between different weights and styles, which have existed since the early days of typesetting. It’s no exaggeration to say that this represents a huge leap forward in font technology in recent years.

With variable fonts, the choice of exactly how heavy or slanted or wide (or any other parameter) type should be is placed into the hands of the user, rather than having those decided for us by the type designer. Traditionally, all possible weights and styles have been separated out into different font files, whereas variable fonts combine all of those variations into one. Because of this, overall file size is greatly reduced compared to loading multiple individual font files—and that’s a key consideration for web typography.

(Did you know you can browse for just variable fonts using the “Show only variable fonts” checkbox on Google Fonts?)

An abstract representation of multiple non-variable font files versus on single variable font file. On the left, multiple individual font files are shown, each displaying the character “a” in varying weights and widths. On the right, a single font file showing many more width and weight variations.

The simplest way to think of variable fonts is to imagine a slider (actually called an axis), with the lightest weight (usually called something like Thin or ExtraLight) at one end, regular in the middle, and the heaviest weight (usually called something like ExtraBold or Black) at the other. Where traditionally we’ve had to choose weights from specific points on that scale—determined by the type designer during font production—we can now choose any point on the scale. Rather than decide between using a bold font at the value of 700 (which might not feel heavy enough), or an extra bold font at the value of 800 (which might feel too heavy), we can now choose somewhere in the middle, such as 742 – just right!

A range showing font-weight, from the lightest at 0 on the left, to the heaviest at 1,000 on the right. One weight is highlighted with the value of 742 on the scale.

However, the real power of variable fonts is that you can have any axis for any variable the type designer chooses, and combine them. Slant? Yes. Width? Yes. Optical size? Yes. Temperature?!? Yes! And all of the above, used in concert.

By the way, it’s important to note that familiar style names—light, regular, bold, etc. for weight, or condensed, normal, wide etc. for width—still appear in font menus when variable font families are installed. They’re referred to technically as “named instances.” So, using variable fonts doesn’t mean waving goodbye to the labels and conveniently-shared styles that we’ve been used to.

A range showing font-weight, from the lightest at 0 on the left, to the heaviest at 1000 on the right. Two named instances—“Regular” and “Bold” are highlighted on the scale.

The best way to understand variable fonts is to start playing with them—and in a way that doesn’t require you to install any font files or write any code. So we’ve put together a few recommendations on what to try, and the results to look out for.

Go to etceteratype.co/epilogue and play with the weight axis of Epilogue to see how it affects the overall spacing of the type:

The word “thicken” is rendered twice: on the left, it appears in a light font-weight; on the right, a bold one. The bold weight also takes up more horizontal space. Beneath both versions are representations of the variable axes.

Now go to etceteratype.co/grandstander and compare that with Grandstander, which was designed to take up the same amount of horizontal space regardless of changes made to the weight axis. This shows how what happens within an axis of variation is determined by the typeface designer.

The word “occupy” is rendered twice: on the left, it appears in a light font-weight; on the right, a heavy one. Both versions, despite their difference in weight, occupy the same horizontal space. Beneath both versions are representations of the variable axes.

Go to etceteratype.co/anybody and play with the weight and width axes on Anybody, to see how they can be combined, and how they affect each other in a subtle way:

The word “spacious” is rendered twice: on the left, it appears in a narrow form; on the right, a wide one. Each version occupies a radically different amount of horizontal space. Beneath both versions are representations of the variable axes weight and width.

Go to etceteratype.co/imbue and play with the optical size axis of Imbue to see how the contrast, spacing and other details change to optimize the design for different sizes:

The word “subtlety” is rendered twice: on the left, it appears with low stroke contrast and wider interletter spacing; on the right, the contrast is greater and the spacing between each character is reduced. Beneath both versions are representations of the variable axes.

Go to fonts.google.com/specimen/EB+Garamond and play with the italic axis of EB Garamond to see how the design “snaps” between roman and italic styles, with no intermediate values:

The word “jumpstart” is rendered twice: on the left, it appears in an upright form; on the right, it’s italicized. Beneath both versions are representations of the variable Italic axis, but—unlike the other illustrations on this page—the colors used suggest the “snap” between the upright and italic forms, rather than a gradation.

Go to recursive.design and play with the Casual axis of Recursive to see how the outlines become more curvy and playful. Note that this is an example of a custom axis.

The word “suited” is rendered twice: on the left, the strokes are straight; on the right, they flair out, with grater contrast between the thicks and thins—a much more playful style. Beneath both versions are representations of the variable axes.

For more chances to play around with variable fonts directly in your browser, consider visiting these websites:

* Content is owned by Google. Thank you to Micah Rich and Thomas Jockin for reviewing this content.

Introducing variable fonts – Fonts Knowledge - Google Fonts