The hyphenate-character property sets the character or string shown at the end of a line before a hyphenation break. It applies to automatic breaks and to soft hyphens (­).
It applies to all elements and is inherited. The initial value is auto. To see hyphenation, pair it with hyphens: auto (and a language) or place soft hyphens in the text.
Legacy prefix.
Older WebKit engines used -webkit-hyphenate-character. Prefer the unprefixed property in new CSS.
Shown at the break. The mark appears at the end of the line before the wrap.
Keep it short. Long strings may be truncated by the user agent.
Check readability. Unusual marks can confuse readers — use them on purpose.
Edge Cases & Pitfalls
If you never see the character, hyphenation never fired.
hyphens
Needs a real hyphenation break
Without hyphens: auto or soft hyphens, nothing is hyphenated, so the character never appears.
lang
Language helps automatic breaks
Set lang on the element or an ancestor so the browser can use the right hyphenation rules.
width
Wide lines may never wrap
If the box is wide enough for the whole word, there is no break and no hyphen mark.
string
Long strings may be truncated
User agents can shorten oversized <string> values. Keep the mark short.
prefix
Old code may use -webkit-
Legacy stylesheets may still list -webkit-hyphenate-character. New CSS can use the standard name alone.
Compatibility
Browser Support
hyphenate-character is a browser typography property. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available
hyphenate-character
Chrome 106+, Firefox 98+, Safari 17+, Edge 106+, Opera 92+. Widely available since September 2023.
95%Modern browsers
Google Chrome106+
Full
Mozilla Firefox98+
Full
Apple Safari17+
Full
Microsoft Edge106+
Full
Opera92+
Full
Samsung InternetSupported (Chromium)
Full
Internet ExplorerNo
None
hyphenate-characterWidely supported
Bottom line: Safe in current browsers. Remember that hyphenation itself also depends on language support and layout width.
Remember
Key Takeaways
Role: choose the mark shown before a hyphenation line break.
Values:auto or any CSS <string>.
Initial value:auto. Inherited.
Pair with:hyphens: auto (and lang) or soft hyphens.
One line:hyphenate-character picks what appears at the end of a hyphenated line — default hyphen or your string.
Frequently Asked Questions
It sets the character or string shown at the end of a line before a hyphenation break. Both automatic hyphens and soft hyphens use this value.
The initial value is auto. The browser picks a suitable hyphen based on the content language.
You need a hyphenation break to see it. Use hyphens: auto and a language, or insert soft hyphens (­) in the word.
Yes. The value is a string, so you can use '=', an em dash, or a short sequence. Very long strings may be truncated by the browser.
Yes. You can set it on a parent such as article or p and child text inherits it.
It is Baseline: Chrome 106+, Firefox 98+, Safari 17+, Edge 106+. Older WebKit browsers used -webkit-hyphenate-character. It is a browser typography property, not a Node.js feature.