CSS hyphens browser support: Chrome 88+, Firefox 6+, Safari 5.1+, Edge 12+, IE 10+ with prefixes. See values, vendor prefixes, and known issues.

Prince Dewani
May 6, 2026
CSS hyphens is a CSS Text Module Level 3 property that controls how the browser breaks words at line ends through none, manual, or auto values. It works in Chrome 88+, Firefox 6+, Safari 5.1+, Edge 12+, Opera 91+, Samsung Internet 6.2+, IE 10+, and iOS Safari 4.2+, while Opera Mini does not support it.
This guide covers what CSS hyphens is, the browsers that support it, the property values, prefix needs, and the known issues.
CSS hyphens is a CSS property defined in the W3C CSS Text Module Level 3 spec. It tells the browser how to break long words at line ends and accepts three values: none, manual, and auto. The default is manual, and the auto value relies on the element's lang attribute to pick a hyphenation dictionary.
Every major desktop and mobile browser supports CSS hyphens, but several still need a vendor prefix on older versions, and Opera Mini never added it.
Chrome supports CSS hyphens fully from Chrome 88 on Windows, macOS, Linux, ChromeOS, and Android. Chrome 55 to 87 supported it with the -webkit-hyphens prefix only, and Chrome 4 to 54 did not support it at all. Chrome on Android also reads the unprefixed property on current builds.
Legacy Edge 12 to 18 supports CSS hyphens with the -ms-hyphens prefix on Windows. Chromium-based Edge 79 to 104 needs the -webkit-hyphens prefix, and Edge 105+ supports the unprefixed hyphens property.
Firefox supports CSS hyphens from Firefox 6 on Windows, macOS, Linux, and Android. Firefox 6 to 42 needed the -moz-hyphens prefix; Firefox 43+ accepts the unprefixed hyphens property. Automatic hyphenation ships with dictionaries for many languages, but the lang attribute must be set on the element or a parent.
Safari supports CSS hyphens from Safari 5.1 on macOS and from Safari 4.2 on iOS, both with the -webkit-hyphens prefix. Modern Safari on macOS Ventura and later, and iOS Safari on iOS 17 and later, accept the unprefixed hyphens property as well, so QA teams need to ship both forms for legacy iOS coverage.
Opera supports CSS hyphens fully from Opera 91 on desktop. Opera 42 to 90 supports it through the -webkit-hyphens prefix, and Opera 9 to 41 did not support the property. Opera Mini does not support CSS hyphens on any version.
Samsung Internet supports CSS hyphens fully from Samsung Internet 6.2 on Android. Samsung Internet 5 supports it through the -webkit-hyphens prefix, and Samsung Internet 4 does not support it.
The Android stock browser supports CSS hyphens on current builds tracking Chrome for Android. Android Browser 2.1 to 4.4.4 only supported -webkit-hyphens: none and ignored the auto and manual values, which is why pages targeting old Android handsets often see no hyphenation at all.
Internet Explorer 10 and 11 support CSS hyphens through the -ms-hyphens prefix on Windows. Internet Explorer 5.5 through 9 do not support the property. Microsoft has retired Internet Explorer, so the -ms- form is only worth shipping for legacy enterprise targets.
Note: CSS hyphens behaves differently across Chrome, Safari, Firefox, and legacy Edge. Test the layout on real browsers and OS with TestMu AI. Try TestMu AI free!
The CSS hyphens property accepts three values: none, manual, and auto. Each value tells the browser when it is allowed to break a word, and the default is manual.
Two newer companion properties refine the output. The hyphenate-character property swaps the default hyphen for a custom string, and hyphenate-limit-chars sets the minimum word length and minimum letters before or after the break.
Older Safari, older Chrome, legacy Edge, and Internet Explorer read CSS hyphens only through a vendor prefix. The safe pattern is to declare every prefix and finish with the unprefixed line so modern browsers pick the standard form.
.article p {
/* Older Safari and Chrome below 88 */
-webkit-hyphens: auto;
/* Internet Explorer 10 to 11 and legacy Edge */
-ms-hyphens: auto;
/* Modern browsers read this last and win */
hyphens: auto;
}
/* Pair the rule with a lang attribute on the element or a parent: */
/* <article lang="en"> ... </article> */CSS hyphens looks well supported on the chart, but the auto value is the part that breaks in production. The pain comes from language dictionaries, the lang attribute, and per-browser break choices.
In my experience, the fastest way to debug a missing hyphen is to inspect the element, confirm the lang attribute is on a parent, and then sweep the same page on Chrome, Safari, and Firefox side by side. Nine times out of ten the lang attribute is missing or set to a value the browser has no dictionary for.
All CSS hyphens version numbers and platform notes in this guide come from these primary sources:
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance