Blog
variable-fonts

When to Choose Width Axis vs. Separate Condensed Family

Variable width axis vs. separate condensed font families for responsive typography. When to use each approach, with practical examples using Barlow, Inter, and more.

Mladen Ruzicic
Mladen Ruzicic
3 min

When a layout needs narrower type — navigation bars, table headers, mobile screens — you have two options: a variable font with a wdth axis, or a separate condensed family. Both solve the same problem, but the tradeoffs are different.

The Two Approaches

Variable width axis (wdth): A single font file with a continuous width range. Set font-stretch: 75% and the font narrows smoothly. Available in fonts like Barlow (which offers static condensed variants), and premium fonts like WTF Forma and GT Canon.

Separate condensed family: A standalone font designed specifically for narrow settings. Examples: Barlow Condensed, Roboto Condensed, IBM Plex Sans Condensed. Each is optimized for its target width rather than interpolated from a range.

When to Use Width Axis

Choose variable width when:

  • Responsive typography: You want the font to narrow fluidly with viewport changes. The wdth axis enables font-stretch in CSS media queries or clamp() for smooth transitions.
  • Design tokens: Your system needs multiple width stops (Semi-Condensed, Normal, Semi-Extended) without loading separate files.
  • Animation: You want to animate width changes (e.g., expanding a label on hover). Variable axes interpolate smoothly; switching between static families creates jarring jumps.
  • Bundle size: One variable file vs. three or more static width families reduces HTTP requests.

When to Use Separate Condensed

Choose a standalone condensed family when:

  • Optimized letterforms: Separate condensed fonts are drawn specifically for narrow proportions. Designers adjust spacing, stroke weight, and counter shapes for the target width. Variable interpolation between Normal and Condensed is mathematically correct but may not be optically optimal.
  • Extreme condensation: Below about 75% width, variable interpolation can produce awkward shapes. Dedicated condensed designs handle extreme narrowing better.
  • Mixed-family pairing: Using a condensed variant for navigation alongside the regular width for body text creates intentional contrast. This works better with separate families where each is optimized for its role.
  • Legacy browser support: Variable fonts require relatively modern browsers. Separate families work everywhere.

Free Font Options

FontWidth ApproachRange
BarlowSeparate families (Regular, Semi-Condensed, Condensed)3 widths
IBM Plex SansSeparate Condensed family2 widths
Noto Sanswdth axis (variable)62.5%-100%
RobotoSeparate families + Flex variantMultiple

Most free fonts don’t offer a wdth variable axis. Noto Sans is the most accessible free option with true variable width. Premium fonts like WTF Forma (5 widths) and GT Canon (5 widths) offer more range but at a licensing cost.

Practical Recommendation

For most projects, separate condensed families are the better choice with today’s free font options. The quality of dedicated condensed designs like Barlow Condensed outweighs the convenience of variable width interpolation. Use the wdth axis when you need fluid responsive behavior or when working with premium fonts that have been carefully tuned across their width range.

FAQ

Does font-stretch work with separate condensed families? No. font-stretch only works with variable fonts that include a wdth axis. For separate families, you need to specify the condensed family name explicitly.

How do I decide the right width for navigation? Start with Semi-Condensed (87.5%) for navigation and labels. Only go to full Condensed (75%) if space is severely constrained. Below 75%, readability drops noticeably.

Can I mix widths within a paragraph? Avoid it. Mixed widths within running text creates visual inconsistency. Use width changes at clear structural boundaries (nav vs. body, header vs. content).

Explore on FontAlternatives

#variable-fonts#condensed#width-axis#responsive-typography

More from the blog