CSS font-kerning Property

Beginner
5 min read
Updated: Oct 2026
3 examples
Live preview

Definition and Usage

The font-kerning property controls whether the browser uses kerning data stored in a font. Kerning nudges specific letter pairs (such as AV or To) so spacing looks more even.

The initial value is auto. It is inherited. For uniform gaps between every character, use letter-spacing instead. Pair with a solid font-family that includes kerning tables.

Standard-track.

Not deprecated and not experimental. Baseline widely available in modern browsers.

CSS Syntax

syntax.css
font-kerning: auto | normal | none | initial | inherit;

Three keywords. Most pages leave the default auto alone.

Property Values

ValueDescriptionTry it
autoDefault. The browser decides. May skip kerning on very small textTry it
normalAlways apply font kerning when the font provides itTry it
noneDo not use the font’s kerning dataTry it
initialResets to autoTry it
inheritTakes the parent valueTry it

How to Use font-kerning

Pick whether kerning should follow the browser, stay on, or stay off.

  1. Choose a font-family that includes kerning pairs.
  2. Leave auto for normal reading text in most layouts.
  3. Set normal when you want kerning forced on (headlines, logos).
  4. Set none only when you need raw, unadjusted spacing for comparison or a special effect.
ValueWhen to use
autoDefault body text; let the engine optimize
normalForce kerning for polished display type
noneDisable kerning for demos or unusual spacing needs

Live Preview

Change only font-kerning. Watch pairs like AV and To on a serif face.

Differences are subtle. Compare normal and none side by side in the examples below.

Kerning

AV WAVE To WATERFALL

font-kerning: auto

CSS Examples

Each snippet focuses on font-kerning. Use text with classic kerning pairs so the change is easier to see. Use Try It Yourself for a live editor.

Example 1 — Force Kerning On

normal applies the font’s kerning pairs whenever they exist.

CSS
<style>
  p {
    font-kerning: normal;
  }
</style>

<p>AV WAVE To</p>
Try It Yourself

How It Works

  1. Set normal. Kerning must be used if the font has data.
  2. Pairs adjust. Combinations like AV and To get pair-specific nudges.
  3. Not letter-spacing. Only listed pairs change, not every character gap.
  4. Needs a capable font. Without kerning tables, the value has no visible effect.

Example 2 — Turn Kerning Off

none ignores the font’s kerning tables.

CSS
<style>
  p {
    font-kerning: none;
  }
</style>

<p>AV WAVE To</p>
Try It Yourself

How It Works

  1. Set none. Pair adjustments from the font are disabled.
  2. Spacing stays raw. Glyphs use default advances without kerning tweaks.
  3. Useful for demos. Compare with normal to see what kerning was doing.
  4. Rare in production. Most readable text keeps kerning on via auto or normal.

Example 3 — normal vs none

Same text twice so you can spot the pair spacing difference.

CSS
<style>
  .on { font-kerning: normal; }
  .off { font-kerning: none; }
</style>

<p class="on">AV WAVE To</p>
<p class="off">AV WAVE To</p>
Try It Yourself

How It Works

  1. Same characters. Only font-kerning differs.
  2. normal uses pairs. Look closely at AV and To.
  3. none skips pairs. Spacing follows default glyph advances.
  4. Subtle by design. Good kerning is meant to feel natural, not flashy.

Edge Cases & Pitfalls

Kerning is subtle and font-dependent. Do not confuse it with letter-spacing.

font

Needs kerning data in the font

If the font has no kerning tables, normal and none can look identical.

auto

auto may disable at small sizes

Some browsers skip kerning on tiny text for readability. Use normal if you must force it.

vs spacing

Not the same as letter-spacing

letter-spacing shifts every character equally. Kerning only adjusts stored pairs.

pairs

No special pairs = no visible change

Text without kernable combinations (for example many monospace runs) will not demonstrate the property well.

opentype

Related, but different from feature tags

For other OpenType toggles such as ligatures, see font-feature-settings.

Browser Support

font-kerning is a browser style property. Node.js, Deno, and Bun do not apply it.

✓ Baseline · Widely available

font-kerning

Chrome 33+, Firefox 32+, Safari 9+, Edge (Chromium), Opera, Samsung Internet. Not supported in Internet Explorer.

95% global support
Google Chrome 33+
Full support
Mozilla Firefox 32+
Full support
Apple Safari 9+
Full support
Microsoft Edge Chromium
Full support
Opera Modern
Full support
Samsung Internet 2+
Full support
Internet Explorer All
Not supported
font-kerning Widely supported in modern browsers

Bottom line: Safe for modern sites. Leave auto for most body text; force normal only when you need guaranteed kerning.

Key Takeaways

  • Role: turn font kerning pairs on, off, or leave them to the browser.
  • Default: auto — usually the right choice for body text.
  • normal vs none: force kerning on, or disable it completely.
  • Not letter-spacing: kerning is pair-based, not a global gap.

One line: font-kerning decides whether a font’s built-in letter-pair adjustments are used.

Frequently Asked Questions

It controls whether the browser applies kerning data from the font to adjust spacing between specific letter pairs such as AV or To.
The initial value is auto. The browser decides whether to use kerning and may turn it off at very small sizes.
auto leaves the choice to the browser. normal requires kerning whenever the font provides kerning data.
Kerning tweaks specific pairs using font metrics. letter-spacing adds the same gap between every character.
The font may lack kerning tables, the text may have no kernable pairs, or auto may have disabled kerning at that size.
It is Baseline widely available: Chrome 33+, Firefox 32+, Safari 9+, Edge (Chromium), Opera, and Samsung Internet. It is a browser style property, not a Node.js feature.

Next: font-size

Control how large text renders on the page.

font-size tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful