The text-emphasis property is a shorthand that draws emphasis marks on text (except spaces and control characters). It sets text-emphasis-style and text-emphasis-color.
It is inherited. Marks are about half the font size and may increase line height. Unlike text-decoration, emphasis marks apply per character and can change on descendants.
Note Position is not reset
text-emphasis does not reset text-emphasis-position. Style and color change often; position usually stays the same.
Quote one character."★" becomes the mark for each letter.
Add a color. The second value colors those marks.
Avoid long strings. Multi-character strings may be truncated or ignored.
Same shorthand. Style and color still travel together in one property.
Edge Cases & Pitfalls
If marks look wrong or missing, check these first.
spaces
Spaces get no marks
Emphasis is skipped on spaces and control characters. That is normal, not a bug.
height
Marks can grow line height
Symbols are about 50% of the font size. Tight leading may clip them or push lines apart.
string
One character only
Do not use multi-character strings like "foo". Browsers may show only the first grapheme.
position
Shorthand skips position
Setting text-emphasis never clears text-emphasis-position. Change position with that longhand.
vs line
Not a substitute for underline
For links and strike-throughs, use text-decoration. Emphasis marks are a different typographic tool.
Compatibility
Browser Support
text-emphasis is a browser text-decoration property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
text-emphasis
Interoperable across modern browsers since about March 2022. Internet Explorer does not support this property.
94%Modern browsers
Google Chrome99+
Full
Mozilla Firefox46+
Full
Apple Safari7+
Full
Microsoft Edge99+
Full
Opera85+
Full
Samsung Internet18+
Full
Internet ExplorerNo
None
text-emphasisWidely supported
Bottom line: Safe for modern sites. Older Safari supported prefixed forms; unprefixed interoperability is strong today. IE has no support.
Remember
Key Takeaways
Role: shorthand for emphasis mark style + color on each character.
Shapes:dot, circle, double-circle, triangle, sesame, or a string.
Inherited: yes. Does not reset text-emphasis-position.
Vs decoration: marks per character, not one line across the box.
One line:text-emphasis paints small marks on characters using style and color together.
Frequently Asked Questions
It is a shorthand that draws emphasis marks beside each character (except spaces and control characters). It sets text-emphasis-style and text-emphasis-color together.
The initial value is none for style and currentColor for color, so no marks appear until you set a style.
text-decoration does not inherit and draws one line across the element. text-emphasis inherits and places a mark on each character, so descendants can change the marks.
No. The shorthand intentionally leaves position alone. Change mark placement with text-emphasis-position when needed.
Yes. Pass a one-character string such as text-emphasis: "★" red. Do not use multi-character strings; browsers may truncate them.
It is Baseline Widely available (interoperable since about March 2022) in modern browsers. Internet Explorer does not support it. It is a browser rendering property, not a Node.js feature.