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 valueauto
Applies toall elements
Inheritedyes
Computed valueas specified
Animation typediscrete

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 compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
font-smooth
Non-standard
Chrome Full support 5
Alternate Name
Full support 5
Alternate Name
Alternate Name Uses the non-standard name: -webkit-font-smoothing
Edge Full support 79
Alternate Name
Full support 79
Alternate Name
Alternate Name Uses the non-standard name: -webkit-font-smoothing
Firefox Full support 25
Notes Alternate Name
Full support 25
Notes Alternate Name
Notes Only works on macOS.
Alternate Name Uses the non-standard name: -moz-osx-font-smoothing
IE No support NoOpera Full support 15
Alternate Name
Full support 15
Alternate Name
Alternate Name Uses the non-standard name: -webkit-font-smoothing
Safari Full support 4
Alternate Name
Full support 4
Alternate Name
Alternate Name Uses the non-standard name: -webkit-font-smoothing
WebView Android Full support ≤37
Alternate Name
Full support ≤37
Alternate Name
Alternate Name Uses the non-standard name: -webkit-font-smoothing
Chrome Android Full support 18
Alternate Name
Full support 18
Alternate Name
Alternate Name Uses the non-standard name: -webkit-font-smoothing
Firefox Android No support NoOpera Android Full support 14
Alternate Name
Full support 14
Alternate Name
Alternate Name Uses the non-standard name: -webkit-font-smoothing
Safari iOS Full support 3.2
Alternate Name
Full support 3.2
Alternate Name
Alternate Name Uses the non-standard name: -webkit-font-smoothing
Samsung Internet Android Full support 1.0
Alternate Name
Full support 1.0
Alternate Name
Alternate Name Uses the non-standard name: -webkit-font-smoothing

Legend

Full support
Full support
No support
No support
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
See implementation notes.
See implementation notes.
Uses a non-standard name.
Uses a non-standard name.

See also