CSS font-size-adjust Property

Beginner
⏱️ 6 min read
📚 Updated: Jun 2026
🎯 4 Examples
Typography

What You’ll Learn

The font-size-adjust property keeps lowercase letters at a similar visual size when fallback fonts replace your first-choice font in a stack.

01

x-height

Lowercase height.

02

Aspect value

Size ratio.

03

none

No adjustment.

04

Fallbacks

Font stacks.

05

Readability

Consistent text.

06

Number

0.5, 0.52.

Introduction

The font-size-adjust property in CSS is used to improve the legibility of text by adjusting the font size based on the aspect value of the first-choice font.

This property ensures that the x-height (height of the lowercase “x”) remains consistent, even when fallback fonts are used. This can be particularly useful when fallback fonts have different aspect ratios, leading to more visually consistent text rendering.

Definition and Usage

When a web font fails to load, the browser picks the next font in your font-family list. Two fonts at the same font-size can look very different because their x-heights differ. font-size-adjust compensates by scaling the used font size so the x-height matches your chosen aspect value.

💡
Beginner Tip

Think of x-height as “how tall the body of lowercase letters looks.” Verdana has a large x-height; Times New Roman has a smaller one at the same pixel size.

📝 Syntax

The syntax for the font-size-adjust property is straightforward. You can specify a numeric value or none:

syntax.css
element {
  font-size-adjust: value;
}

Here, value can be a number representing the aspect value or none to disable the adjustment.

Basic Example

font-size-adjust-basic.css
p {
  font-family: "Arial", sans-serif;
  font-size-adjust: 0.5;
}
font-size-adjust: none; font-size-adjust: 0.5; font-size-adjust: 0.52;

Default Value

The default value of the font-size-adjust property is none, meaning no adjustment is applied and the font size is rendered normally based on the font-size setting.

Syntax Rules

  • Accepts none or a positive number (the aspect value).
  • The aspect value is typically between about 0.4 and 0.6 for common web fonts.
  • The property is not inherited by default in the classic syntax, but set it on elements where fallback consistency matters.
  • Works alongside font-family and font-size — it adjusts the used size, not the declared size directly.
  • Most useful when primary and fallback fonts have noticeably different x-heights.

⚡ Quick Reference

QuestionAnswer
Initial valuenone
Applies toAll elements
InheritedNo
Aspect value meaningx-height ÷ font-size
Typical useFont stacks with mixed x-heights

💎 Property Values

ValueDescription
noneNo font-size adjustment is applied. Text uses the normal computed font size.
numberA positive number representing the aspect value (ratio of the font's x-height to its font size).

Common aspect values (approximate)

FontTypical aspect valueNotes
Verdana~0.545Large x-height; feels bigger at the same px size
Arial~0.519Common sans-serif fallback
Times New Roman~0.447Smaller x-height; feels smaller at the same px size

Exact values vary by font file and browser metrics. Use these as starting points when tuning readability.

👀 Live Preview

Same font and size with and without an aspect value of 0.52:

font-size-adjust: none; Readable lowercase text at normal scaling.
font-size-adjust: 0.52; Readable lowercase text with x-height adjustment.

Examples Gallery

Adjust font size based on an aspect value of 0.5, then compare none vs number, mixed font stacks, and different aspect values side by side.

🔢 Aspect Value

Start with the reference example — Arial with an aspect value of 0.5.

Example 1 — Basic Aspect Value

Set font-size-adjust: 0.5 on paragraph text using Arial.

font-size-adjust-basic.html
<style>
  p {
    font-family: "Arial", sans-serif;
    font-size-adjust: 0.5;
  }
</style>

<p>
  This paragraph's font size is adjusted to maintain a consistent x-height
  even when fallback fonts are used.
</p>
Try It Yourself

How It Works

The browser uses 0.5 as the target x-height ratio and scales the rendered font size to match that proportion for the active font.

Example 2 — none vs 0.52

Compare default rendering with and without adjustment on the same serif font.

font-size-adjust-compare.css
.no-adjust { font-size-adjust: none; }
.with-adjust { font-size-adjust: 0.52; }
Try It Yourself

How It Works

With the same declared font-size, the adjusted line may render at a different used size so lowercase letters match the target x-height ratio.

📈 Fallback Consistency

See how adjustment helps when fonts in a stack have different proportions.

Example 3 — Font Stack with Adjustment

Apply an aspect value tuned for a sans-serif primary font with serif fallbacks.

font-size-adjust-stack.css
.article-body {
  font-family: Verdana, Arial, "Segoe UI", sans-serif;
  font-size: 1rem;
  font-size-adjust: 0.545;
}
Try It Yourself

How It Works

Setting the aspect value near Verdana's x-height ratio helps keep lowercase letters similarly sized when a fallback font activates.

Example 4 — Different Aspect Values

Compare three numeric aspect values on the same text and font size.

font-size-adjust-values.css
.aspect-45 { font-size-adjust: 0.45; }
.aspect-50 { font-size-adjust: 0.50; }
.aspect-55 { font-size-adjust: 0.55; }
Try It Yourself

How It Works

Higher aspect values target a taller x-height relative to font size, which generally makes lowercase letters appear larger at the same declared size.

♿ Accessibility

  • Consistent x-height improves readability when users rely on fallback fonts or slow connections delay web font loading.
  • Do not rely on font-size-adjust alone — still set a comfortable base font-size (typically at least 1rem for body text).
  • Test with fonts disabled or blocked to see how fallbacks look for users who block remote fonts.
  • Verify contrast and line length after adjustment, since scaling can affect layout spacing.
  • Respect user zoom settings — adjustment works within the normal font rendering pipeline.

🧠 How font-size-adjust Works

1

You set an aspect value

Choose none or a number such as 0.5 representing x-height ÷ font-size.

Declaration
2

Browser picks a font

The first available font in your stack loads, which may be a fallback if the primary font is missing.

Font selection
3

Used size is scaled

The browser adjusts the used font size so the active font's x-height matches your aspect value target.

Adjustment
=

Consistent lowercase size

Text feels similarly readable even when fallback fonts replace your first choice.

🖥 Browser Compatibility

The font-size-adjust property is supported in most modern browsers, including recent versions of Chrome, Firefox, Safari, Edge, and Opera. Always test across browsers when you rely on it for critical typography.

Baseline · Modern browsers

font-size-adjust in current engines

Supported in Firefox for many years; Chromium and Safari added support in recent releases.

92% Modern browser support
Google Chrome 43+ · Desktop & Mobile
Supported
Mozilla Firefox 40+ · Desktop & Mobile
Supported
Apple Safari 16.4+ · macOS & iOS
Supported
Microsoft Edge 79+ (Chromium)
Supported
Opera 30+
Supported
font-size-adjust property 92% supported

Bottom line: Safe for modern projects. Provide sensible font-size fallbacks for older browsers that ignore this property.

🎉 Conclusion

The font-size-adjust property is a valuable tool for web developers aiming to maintain consistent text legibility across different fonts. By adjusting the font size based on the aspect value of the first-choice font, you can ensure that text remains readable and visually consistent, even when fallback fonts are used.

Experiment with different aspect values to see how this property can enhance the readability of your web content. Start with the x-height ratio of your primary font and test what happens when fallbacks load.

💡 Best Practices

✅ Do

  • Match the aspect value to your primary web font
  • Test with web fonts blocked to preview fallbacks
  • Combine with a well-ordered font-family stack
  • Keep body font-size readable (1rem+)
  • Verify layout after adjustment on mobile

❌ Don’t

  • Expect visible changes with a single system font only
  • Use extreme aspect values without checking overflow
  • Replace good font pairing with adjustment alone
  • Forget older browsers that may ignore the property
  • Confuse aspect value with font-size itself

Key Takeaways

Knowledge Unlocked

Five things to remember about font-size-adjust

Use these points when tuning fallback typography.

5
Core concepts
none 02

Default none

No adjustment.

Default
0.5 03

Aspect value

Number ratio.

Syntax
📈 04

Fallbacks

Font stacks.

Use case
📝 05

Readability

Consistent text.

Goal

❓ Frequently Asked Questions

font-size-adjust scales text so the x-height stays consistent when the browser switches to a fallback font that has a different proportion between lowercase height and overall font size.
The default value is none, which means no adjustment is applied and text renders at the normal computed font size.
The aspect value is the ratio of a font's x-height to its font size. For example, 0.5 means the lowercase x is half as tall as the full font size.
X-height is the height of lowercase letters such as x, a, and e, excluding ascenders and descenders. It strongly affects how large text feels when reading.
Use it when you have a font stack with fallbacks that look noticeably smaller or larger at the same font-size value, and you want more consistent readability if the primary font fails to load.

Practice in the Live Editor

Open the HTML editor, change font-size-adjust values, and compare how lowercase text scales with different aspect ratios.

HTML Editor →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

5 people found this page helpful