Width Axis
The width axis lets you squeeze headlines to fit tight columns or stretch pull quotes for emphasis without swapping font files. CSS font stretch takes percentage values like 75 percent for condensed or 125 percent for expanded. It exists because editorial design on the web constantly fights container constraints and static fonts force extra requests or ugly compromises.
It is not a replacement for tracking or letter spacing. Those adjust space between letters. Width actually changes the shape of the glyphs themselves. A frequent mistake is using it on body text where the distortion becomes obvious. Another is shipping the axis on marketing sites with fixed width headers where it adds bytes for zero value.
Roboto Flex ships one of the most useful width ranges in production variable fonts. Editorial teams study it to see how condensed it can go while staying readable. The New York Times applies width changes in their responsive templates so headlines reflow gracefully across breakpoints. One file. One request. No duplicate cuts.
Vercel keeps width out of their core Geist system because their layouts do not need it. They made the explicit trade off and kept the file smaller. That discipline is worth copying. Stripe Press on the other hand uses width aggressively in their editorial product where the layout sings because of it.
Deploy the width axis on responsive editorial work or anywhere you need the type to breathe differently at different screen sizes. Avoid it on product UIs or fixed width marketing pages. The tradeoff is clear. Extra expressiveness costs real bytes. Only pay when the design actually uses the axis in production.
Test at extreme values on real copy. Many fonts look great in the specimen and fall apart with actual headlines. Pair it with optical size when possible so the contrast adjusts as the width changes.
Always subset aggressively. The width axis adds data. Without trimming unused glyphs you will regret the payload.
Width is the editorial axis. Use it where layout sings or skip it entirely.
Read the full guide
Related terms
Keep exploring
Variable font
A font file that exposes one or more axes (weight, width, slant, optical size, or custom) that can shift at runtime without loading additional files.
Optical Size Axis
The variable font axis that modifies contrast, x-height, and detail based on rendered size so one file can serve both body text and display headlines correctly.
Font Subsetting
Font subsetting trims a font file to only the exact glyphs, language ranges, and variable axes your project uses. It turns a 580 KB Recursive variable monster into a focused 140 KB file that still interpolates across every weight, slant, and custom axis you actually declare in CSS.