W3cubDocs

/CSS

font-smooth

Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The font-smooth CSS property controls the application of anti-aliasing when fonts are rendered.

Syntax

/* Keyword values */
font-smooth: auto;
font-smooth: never;
font-smooth: always;

/* <length> value */
font-smooth: 2em;

WebKit implements a similar property, but with different values: -webkit-font-smoothing. It only works on Mac OS X/macOS.

  • auto - Let the browser decide (Uses subpixel anti-aliasing when available; this is the default)
  • none - Turn font smoothing off; display text with jagged sharp edges.
  • antialiased - Smooth the font on the level of the pixel, as opposed to the subpixel. Switching from subpixel rendering to antialiasing for light text on dark backgrounds makes it look lighter.
  • subpixel-antialiased - On most non-retina displays, this will give the sharpest text.

Firefox implements a similar property, but with different values: -moz-osx-font-smoothing. It only works on Mac OS X/macOS.

  • auto - Allow the browser to select an optimization for font smoothing, typically grayscale.
  • grayscale - Render text with grayscale antialiasing, as opposed to the subpixel. Switching from subpixel rendering to antialiasing for light text on dark backgrounds makes it look lighter.

Formal definition

Initial value auto
Applies to all elements
Inherited yes
Computed value as specified
Animation type discrete

Formal syntax

auto | never | always | <absolute-size> | <length>

where
<absolute-size> = xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large

Examples

Basic usage example

The following example shows the Safari/Chromium and Firefox equivalents that turn on font-smoothing on macOS. In both cases the smoothed font should look slightly lighter in weight.

For those of you not on a macOS system, here is a screenshot (the live version appears later on):

HTML

<p>Without font smoothing</p>

<p class="smoothed">With font smoothing</p>

CSS

html {
  background-color: black;
  color: white;
  font-size: 3rem;
}

p {
  text-align: center;
}

.smoothed {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

Result

Specifications

Not part of any standard.

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
font-smooth 5
5
Uses the non-standard name: -webkit-font-smoothing
79
79
Uses the non-standard name: -webkit-font-smoothing
25
25
Only works on macOS.
Uses the non-standard name: -moz-osx-font-smoothing
No 15
15
Uses the non-standard name: -webkit-font-smoothing
4
4
Uses the non-standard name: -webkit-font-smoothing
Mobile
Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
font-smooth ≤37
≤37
Uses the non-standard name: -webkit-font-smoothing
18
18
Uses the non-standard name: -webkit-font-smoothing
No 14
14
Uses the non-standard name: -webkit-font-smoothing
3.2
3.2
Uses the non-standard name: -webkit-font-smoothing
1.0
1.0
Uses the non-standard name: -webkit-font-smoothing

See also

© 2005–2020 Mozilla and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth