font-kerning

The font-kerning CSS property sets the use of the kerning information stored in a font.

Kerning defines how letters are spaced. In well-kerned fonts, this feature makes character spacing more uniform and pleasant to read than it would otherwise be.

In the image below, for instance, the examples on the left do not use kerning, while the ones on the right do:

Example of font-kerning

Syntax

The font-kerning property is specified as one of the keyword values listed below.

Values

auto
The browser determines whether font kerning should be used or not. For example, some browsers will disable kerning on small fonts, since applying it could harm the readability of text.
normal
Font kerning information stored in the font must be applied.
none
Font kerning information stored in the font is disabled.

Formal definition

Initial valueauto
Applies toall elements. It also applies to ::first-letter and ::first-line.
Inheritedyes
Computed valueas specified
Animation typediscrete

Formal syntax

auto | normal | none

Examples

Enabling and disabling kerning

HTML

<div id="kern"></div>
<div id="nokern"></div>
<textarea id="input">AV T. ij</textarea>

CSS

div {
  font-size: 2rem;
  font-family: serif;
}

#nokern {
  font-kerning: none;
}

#kern {
  font-kerning: normal;
}

JavaScript

let input  = document.getElementById('input');
let kern   = document.getElementById('kern');
let nokern = document.getElementById('nokern');

input.addEventListener('keyup', function() {
  kern.textContent = input.value; /* Update content */
  nokern.textContent = input.value;
});

kern.textContent = input.value; /* Initialize content */
nokern.textContent = input.value;

Specifications

Specification Status Comment
CSS Fonts Module Level 3
The definition of 'font-kerning' in that specification.
Candidate Recommendation Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
font-kerningChrome Full support 33
Full support 33
No support 29 — 33
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Edge Full support 79Firefox Full support 32
Full support 32
No support 24 — 34
Disabled
Disabled From version 24 until version 34 (exclusive): this feature is behind the layout.css.font-features.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 20
Full support 20
No support 16 — 20
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Safari Full support 9
Full support 9
Full support 6
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
WebView Android Full support 4.4.3
Full support 4.4.3
No support 4.4 — 4.4.3
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Chrome Android Full support 33
Full support 33
No support 29 — 33
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Firefox Android Full support 32
Full support 32
No support 24 — 34
Disabled
Disabled From version 24 until version 34 (exclusive): this feature is behind the layout.css.font-features.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Full support 20
Full support 20
No support 16 — 20
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Safari iOS Full support 9
Full support 9
Full support 6
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Samsung Internet Android Full support 2.0
Full support 2.0
No support 1.0 — 2.0
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-

Legend

Full support
Full support
No support
No support
User must explicitly enable this feature.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also