The font-variant property is a shorthand for typographic variants in a font — most famously small-caps, plus ligatures, numeric forms, and related OpenType features.
Inherit first. The paragraph sets small-caps for its children.
Override locally.font-variant: normal restores standard letterforms on the span.
Useful pattern. Keep a brand word or acronym in regular case inside a small-caps line.
Initial value.normal is also what initial restores to.
Edge Cases & Pitfalls
If small-caps look odd or missing, check these first.
font
Not every font has true small caps
Browsers may synthesize smaller capitals from uppercase. True OpenType small-cap glyphs look cleaner when the font provides them.
shorthand
font only allows small-caps
Inside the font shorthand, the only non-normal variant value is small-caps. Other keywords belong on font-variant itself.
reset
Shorthand resets sibling longhands
Setting font-variant: small-caps can reset ligature or numeric longhands to their defaults. Set longhands after the shorthand if you need both.
none
none is not the same as normal
none turns ligatures off. normal leaves each longhand at its initial normal setting, which may still allow default ligatures.
a11y
Keep body copy readable
Small-caps work best for short labels and headings. Long paragraphs in small-caps are harder to scan.
Compatibility
Browser Support
font-variant is a browser CSS shorthand for typographic variants. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
font-variant
normal and small-caps work across modern browsers and Internet Explorer. Advanced OpenType keywords need supporting fonts.
98%Modern browser support
Google ChromeAll
Full support
Mozilla FirefoxAll
Full support
Apple SafariAll
Full support
Microsoft EdgeAll
Full support
OperaAll
Full support
Samsung InternetAll
Full support
Internet ExplorerAll (core values)
Full support
font-variantWidely supported
Bottom line: Safe for normal and small-caps everywhere. Treat advanced numeric/ligature keywords as progressive enhancement. It is not a runtime API.
Remember
Key Takeaways
Role: shorthand for caps, ligatures, numerics, and related variants.
Starter value:small-caps for lowercase as smaller capitals.
Longhands: use font-variant-caps when you only need capital variants.
Initial value:normal. Inherited by default.
One line:font-variant: small-caps; turns lowercase into smaller capitals.
Frequently Asked Questions
It is a shorthand for typographic OpenType-style variants such as small capitals, ligatures, numeric forms, and more. The most common beginner value is small-caps.
The initial value is normal, which means each related longhand uses its normal setting and no special variant is forced.
small-caps displays lowercase letters as smaller capital glyphs. Existing uppercase letters stay at full capital height.
small-caps affects lowercase letters. all-small-caps turns uppercase and lowercase into the smaller capital style.
font-variant is the shorthand. font-variant-caps is the longhand that controls only capital variants such as small-caps.
It is Baseline Widely available. Core values like normal and small-caps work across modern browsers. Some advanced keywords need fonts that include those OpenType features. It is a browser CSS property, not a Node.js feature.