CSS font-kerning Property

Beginner
⏱️ 5 min read
📚 Updated: Jun 2026
🎯 4 Examples
Typography

What You’ll Learn

The font-kerning property controls whether the browser uses a font's built-in kerning data to adjust spacing between letter pairs. It helps headings and display text look more polished.

01

Kerning

Pair spacing.

02

auto

Browser decides.

03

normal

Force on.

04

none

Disable.

05

Font data

Built-in metrics.

06

Not tracking

Not letter-spacing.

Introduction

The font-kerning property in CSS controls the usage of kerning information stored in a font. Kerning adjusts the spacing between certain pairs of characters to make the text look visually appealing.

Definition and Usage

This property can enhance the readability and appearance of your text by fine-tuning spacing based on the font's kerning data. Use it on headings, logos, and large display type where uneven gaps between letters are most noticeable. For uniform spacing across all characters, use letter-spacing instead.

💡
Beginner Tip

Kerning targets specific pairs like AV or Wa, not every letter equally. Words like “AVATAR” or “TYPOGRAPHY” are good demos because they contain pairs that fonts often kern tightly.

📝 Syntax

The syntax for the font-kerning property is straightforward. It can be applied to any text-containing element:

syntax.css
element {
  font-kerning: value;
}

Here, value can be one of the following:

  • auto
  • normal
  • none

Basic Example

font-kerning-basic.css
h1 {
  font-kerning: normal;
}
font-kerning: auto; font-kerning: normal; font-kerning: none;

Default Value

The default value of the font-kerning property is auto, which lets the browser decide whether to use kerning information based on the font and other text settings.

Syntax Rules

  • Accepts exactly three keyword values: auto, normal, and none.
  • Effects depend on the font including kerning tables.
  • The property is inherited.
  • Kerning is most visible at larger font sizes and in uppercase text.
  • Do not confuse with letter-spacing, which affects all characters uniformly.

⚡ Quick Reference

QuestionAnswer
Initial valueauto
Applies toAll elements
InheritedYes
Value typeKeyword (auto, normal, none)
Common usenormal on headings and display text

💎 Property Values

ValueDescription
autoThe browser determines whether kerning should be applied. It may disable kerning at very small sizes for performance or rendering reasons.
normalKerning is applied wherever possible using the font's kerning data, regardless of size or other settings.
noneDisables kerning completely, ignoring any kerning data stored in the font.

Kerning vs letter-spacing

Kerning adjusts individual letter pairs using font metrics (for example, pulling A and V closer). letter-spacing adds the same amount of space between every character, which is useful for tracked uppercase labels but is not true kerning.

👀 Live Preview

Compare font-kerning: normal with font-kerning: none on the word AVATAR:

font-kerning: normal; AVATAR
font-kerning: none; AVATAR

Examples Gallery

In this example, we compare the effect of different font-kerning values on text — plus headings, display type, and when to disable kerning.

📏 Kerning Values

Start with the reference example — auto, normal, and none on the same word.

Example 1 — auto, normal, and none

See how each keyword affects the spacing in AVATAR, a word with kerning-friendly letter pairs.

font-kerning-values.html
<style>
  .kerning-auto { font-kerning: auto; }
  .kerning-normal { font-kerning: normal; }
  .kerning-none { font-kerning: none; }
</style>

<p class="kerning-auto">Kerning auto: AVATAR</p>
<p class="kerning-normal">Kerning normal: AVATAR</p>
<p class="kerning-none">Kerning none: AVATAR</p>
Try It Yourself

How It Works

normal applies kerning from the font. none turns it off. auto usually looks like normal at larger sizes but lets the browser optimize at small sizes.

Example 2 — Kerning on Headings

Enable kerning on page titles where letter-pair spacing matters most.

font-kerning-heading.css
h1 {
  font-family: Georgia, serif;
  font-kerning: normal;
  letter-spacing: 0;
}
Try It Yourself

How It Works

Headings benefit from kerning because large type makes awkward gaps between letters more obvious.

🎨 Display & Control

Polish hero text and know when to turn kerning off.

Example 3 — Hero Display Text

Use kerning on uppercase hero lines where diagonal letters meet, such as in AWAY or WAVE.

font-kerning-display.css
.hero-title {
  font-size: 3rem;
  font-kerning: normal;
  text-transform: uppercase;
}
Try It Yourself

How It Works

Large uppercase display type is where kerning has the biggest visual impact, especially with diagonal letter combinations.

Example 4 — Disable Kerning

Use font-kerning: none when you need predictable character widths, such as for measurement comparisons or certain design effects.

font-kerning-none.css
.no-kerning {
  font-kerning: none;
}
Try It Yourself

How It Works

Disabling kerning gives uniform default spacing between glyphs, which can be useful when kerning makes width calculations unpredictable.

♿ Accessibility

  • Kerning generally improves readability for body and heading text when used appropriately.
  • Do not reduce contrast or size assuming kerning alone will fix legibility issues.
  • Avoid extreme letter-spacing plus kerning tweaks that make words hard to parse.
  • Test at real reading sizes, not only large demo headings.
  • Keep content readable if you disable kerning for stylistic reasons.

🧠 How font-kerning Works

1

Font stores pair data

OpenType and TrueType fonts can include kerning tables with spacing adjustments for specific letter pairs.

Font metrics
2

CSS chooses a mode

auto, normal, or none tells the browser whether to use that data.

Keyword
3

Pairs are adjusted

The renderer moves selected letters closer together or farther apart while leaving other pairs unchanged.

Pair spacing
=

Balanced typography

Text looks evenly spaced without awkward gaps between certain letter combinations.

🖥 Browser Compatibility

The font-kerning property is supported in most modern browsers, including the latest versions of Chrome, Firefox, Safari, Edge, and Opera. Test across browsers because kerning rendering can vary slightly by platform.

Baseline · Modern browsers

font-kerning in today’s browsers

All three keyword values work in current browser versions when the font provides kerning data.

97% Modern browser support
Google Chrome 32+ · Desktop & Mobile
Full support
Mozilla Firefox 32+ · Desktop & Mobile
Full support
Apple Safari 9+ · macOS & iOS
Full support
Microsoft Edge 79+ · Chromium
Full support
Opera 19+ · Modern versions
Full support
font-kerning property 97% supported

Bottom line: Safe to use in modern projects. Visual differences depend on the font and operating system text renderer.

🎉 Conclusion

The font-kerning property is a useful tool for web developers looking to enhance the typographic quality of their text. By controlling kerning, you can ensure that the spacing between characters is optimal, improving readability and the overall visual appeal of your content.

Experiment with different values to see how this property can refine the typography of your web projects. For most headings, normal is a good choice; use none only when you need predictable spacing behavior.

💡 Best Practices

✅ Do

  • Use font-kerning: normal on headings and hero text
  • Pair with a quality font that includes kerning data
  • Keep letter-spacing: 0 when evaluating kerning effects
  • Test uppercase display words like AVATAR or WAVE
  • Leave the default auto for most body copy

❌ Don’t

  • Confuse kerning with letter-spacing
  • Expect visible changes from fonts without kerning tables
  • Disable kerning without a clear design reason
  • Apply heavy tracking and kerning tweaks at the same time blindly
  • Assume kerning fixes poor font choice or sizing issues

Key Takeaways

Knowledge Unlocked

Five things to remember about font-kerning

Use these points when polishing letter spacing on the web.

5
Core concepts
auto 02

Default auto

Browser decides.

Default
normal 03

Force kerning

Use on headings.

Pattern
none 04

Disable

Uniform spacing.

Control
🔠 05

Font-dependent

Needs kerning data.

Rule

❓ Frequently Asked Questions

The font-kerning property controls whether the browser uses kerning data built into a font to adjust spacing between specific letter pairs, such as AV, WA, or To.
The default value is auto, which lets the browser decide whether to apply kerning based on the font and other text settings.
auto leaves the decision to the browser, which may disable kerning at very small font sizes for performance. normal forces kerning on whenever the font provides kerning data.
Kerning adjusts specific letter pairs using font metrics. letter-spacing adds the same extra space between every character uniformly.
Kerning only has a visible effect when the font file includes kerning tables. Many system and web fonts do, but simple or bitmap fonts may not.

Practice in the Live Editor

Open the HTML editor, switch between auto, normal, and none, and compare spacing in words like AVATAR.

HTML Editor →

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.

5 people found this page helpful