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.
Fundamentals
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.
Foundation
📝 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.
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.
Cheat Sheet
⚡ Quick Reference
Question
Answer
Initial value
none
Applies to
All elements
Inherited
No
Aspect value meaning
x-height ÷ font-size
Typical use
Font stacks with mixed x-heights
Reference
💎 Property Values
Value
Description
none
No font-size adjustment is applied. Text uses the normal computed font size.
number
A positive number representing the aspect value (ratio of the font's x-height to its font size).
Common aspect values (approximate)
Font
Typical aspect value
Notes
Verdana
~0.545
Large x-height; feels bigger at the same px size
Arial
~0.519
Common sans-serif fallback
Times New Roman
~0.447
Smaller 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.
Preview
👀 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.
Hands-On
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>
Higher aspect values target a taller x-height relative to font size, which generally makes lowercase letters appear larger at the same declared size.
A11y
♿ 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.
Compatibility
🖥 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 Chrome43+ · Desktop & Mobile
Supported
Mozilla Firefox40+ · Desktop & Mobile
Supported
Apple Safari16.4+ · macOS & iOS
Supported
Microsoft Edge79+ (Chromium)
Supported
Opera30+
Supported
font-size-adjust property92% supported
Bottom line: Safe for modern projects. Provide sensible font-size fallbacks for older browsers that ignore this property.
Wrap Up
🎉 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.
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
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about font-size-adjust
Use these points when tuning fallback typography.
5
Core concepts
x01
x-height
Lowercase size.
Concept
none02
Default none
No adjustment.
Default
0.503
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.