Home CSS Properties letter-spacing CSS letter-spacing Property Definition
Definition and Usage The letter-spacing property sets extra space between characters . Positive values spread letters apart; negative values pull them closer. The value is added on top of the font’s normal spacing.
The initial value is normal. It is inherited. Use lengths such as 0.05em or 1px for tracking. Pair with word-spacing for gaps between words, and keep extreme values readable for accessibility.
Baseline for normal and lengths. Not deprecated. Percentage values exist in newer specs and may vary by browser — prefer em or px for study and production tracking.
Syntax
CSS Syntax letter-spacing: normal | <length> | initial | inherit ;
Examples: normal, 0.2em, 1px, -0.05em.
Values
Property Values Value Description Try it normalFont default spacing. Initial value Try it<length>Extra space such as 0.2em or 1px. May be negative Try it0.05emSubtle tracking that scales with font size Try it-0.05emSlightly tighter characters Try itinitialResets to normal Try itinheritInherits from the parent element Try it
Approach
How to Use letter-spacing Pick the text, then add a small amount of tracking.
Select a heading, label, or paragraph that needs tracking. Set letter-spacing to normal or a length such as 0.05em. Prefer em when spacing should scale with font-size . Check readability — especially with text-transform: uppercase labels. Piece Required? Role Text content Yes Applies to rendered characters in the element Spacing value Yes normal or a length (extra space)Relative units Recommended em keeps tracking proportional to font sizeword-spacing Separate Controls gaps between words, not letters
Try it
Live Preview Only letter-spacing changes on the sample sentence.
Code
CSS Examples Each snippet focuses on letter-spacing only. Use Try It Yourself for a live editor.
1. normal 2. Wide 3. Tight Example 1 — Default Spacing Leave tracking at the font default with normal.
<style>
p {
letter-spacing: normal;
}
</style>
<p>Letter spacing</p> How It Works Use the keyword. letter-spacing: normal is the initial value.Font design wins. Spacing comes from the typeface, not an extra length.Best for body text. Paragraphs usually stay readable at normal.Baseline for compare. Next examples add or remove tracking.Example 2 — Wider Tracking Spread characters with a relative length.
<style>
h1 {
letter-spacing: 0.2em;
}
</style>
<h1>WIDE TITLE</h1> How It Works Add extra space. 0.2em is added between each pair of characters.Scales with type. If font-size grows, the tracking grows with it.Common on headings. Uppercase titles often look clearer with light tracking.Keep it modest. Very large values can make words look like separate letters.Example 3 — Tighter Spacing Pull characters slightly closer with a negative length.
<style>
p {
letter-spacing: -0.05em;
}
</style>
<p>Slightly tighter text</p> How It Works Use a small negative. -0.05em reduces the gap a little.Still readable. Tiny adjustments can tidy display type; large negatives cause overlap.Font dependent. Some typefaces need less tightening than others.Test at real sizes. Check the final font-size on screen, not only in the editor. Edge Cases & Pitfalls Tracking is easy to overdo. Watch these traps.
a11y Extreme values hurt reading Huge positive spacing turns words into scattered letters. Large negatives make glyphs overlap. Keep body text near normal.
normal normal is not always 0normal may allow justification tweaks. A length such as 0 fixes extra spacing at zero.
i18n Connected scripts need care Languages such as Arabic expect joined letters. Letter spacing can break those connections — avoid it there.
liga Non-zero can disable ligatures When spacing is not zero, browsers often skip optional ligatures. That can change how pairs like “fi” look.
words Not word spacing Gaps between words belong to word-spacing , not letter-spacing.
Compatibility
Browser Support letter-spacing is a browser CSS property for typography. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
letter-spacing normal and length values are widely supported across modern browsers. Percentage letter-spacing is newer and not part of these numbers.
Google Chrome All versions
Full support
Mozilla Firefox All versions
Full support
Apple Safari All versions
Full support
Microsoft Edge All versions
Full support
Opera All versions
Full support
Samsung Internet All versions
Full support
Internet Explorer All versions
Full support letter-spacing Widely supported
Bottom line: Safe for normal, px, and em tracking. Prefer em for scalable headings. Treat percentages as progressive. It is not a runtime API.
Remember
Key Takeaways Role: control extra space between characters.
Initial value: normal. Inherited.
Signs: positive spreads; negative tightens.
Tip: use small em values on headings; keep body text near normal.
One line: letter-spacing adds tracking between letters — a little goes a long way.
Frequently Asked Questions What does the CSS letter-spacing property do? It adds extra space between characters on top of the font’s normal spacing. Positive values spread letters; negative values pull them closer.
What is the default value of letter-spacing? The initial value is normal, which uses the font’s designed spacing and may still allow slight justification adjustments.
Is letter-spacing: 0 the same as normal? Not exactly. normal can let the browser tweak spacing for justification. A length such as 0 locks the extra spacing to zero.
Is letter-spacing inherited? Yes. Children inherit it unless they set their own value.
How is letter-spacing different from word-spacing? letter-spacing adjusts gaps between characters. word-spacing adjusts gaps between words.
Which browsers support letter-spacing? It is Baseline and widely available for normal and length values. Percentage support is newer. It is a browser CSS property, not a Node.js feature.
About the author Developer, cloud engineer, and technical writer
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
Helpful Share Copy link Suggestion