The font-optical-sizing
CSS property sets whether text rendering is optimized for viewing at different sizes.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
/* keyword values */ font-optical-sizing: none; font-optical-sizing: auto; /* default */ /* Global values */ font-optical-sizing: inherit; font-optical-sizing: initial; font-optical-sizing: unset;
Values
- none
- The browser will not modify the shape of glyphs for optimal viewing.
- auto
- The browser will modify the shape of glyphs for optimal viewing.
Description
Optical sizing is enabled by default for fonts that have an optical size variation axis. The optical size variation axis is represented by opsz
in font-variation-settings
.
When optical sizing is used, small text sizes are often rendered with thicker strokes and larger serifs, whereas larger text is often rendered more delicately with more contrast between thicker and thinner strokes.
Formal definition
Initial value | auto |
---|---|
Applies to | all elements. It also applies to ::first-letter and ::first-line . |
Inherited | yes |
Computed value | as specified |
Animation type | discrete |
Formal syntax
auto | none
Examples
Disabling optical sizing
<p class="optical-sizing">This paragraph is optically sized. This is the default across browsers.</p> <p class="no-optical-sizing">This paragraph is not optically sized. You should see a difference in supporting browsers.</p>
@font-face { src: url('AmstelvarAlpha-VF.ttf'); font-family:'Amstelvar'; font-style: normal; } p { font-size: 36px; font-family: Amstelvar; } .no-optical-sizing { font-optical-sizing: none; }
Note: The font referenced above — which includes optical sizing and is freely-licensed — is good for testing. You can download it on GitHub.
Specifications
Specification | Status | Comment |
---|---|---|
CSS Fonts Module Level 4 The definition of 'font-optical-sizing' in that specification. |
Working Draft |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
font-optical-sizing | Chrome Full support 79 | Edge Full support 17 | Firefox
Full support
62
| IE No support No | Opera Full support 66 | Safari Full support 11 | WebView Android Full support 79 | Chrome Android Full support 79 | Firefox Android
Full support
62
| Opera Android No support No | Safari iOS Full support 11 | Samsung Internet Android No support No |
Legend
- Full support
- Full support
- No support
- No support
- User must explicitly enable this feature.
- User must explicitly enable this feature.