Testing

CSS Hyphens: Browser Support, Values, Known Issues

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

Author

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.

What is CSS hyphens?

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.

Which browsers does CSS hyphens support?

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.

Loading browser compatibility data...

CSS hyphens compatibility in Chrome

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.

CSS hyphens compatibility in Edge

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.

CSS hyphens compatibility in Firefox

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.

CSS hyphens compatibility in Safari

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.

CSS hyphens compatibility in Opera

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.

CSS hyphens compatibility in Samsung Internet

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.

CSS hyphens compatibility in Android Browser

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.

CSS hyphens compatibility in Internet Explorer

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

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!

What are the values of the CSS hyphens property?

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.

  • none: The browser never breaks a word, even when the line overflows the container. Use it for code blocks or names where a hyphen would change the meaning.
  • manual: The default. The browser only breaks the word at a hard hyphen (U+2010) or a soft hyphen (U+00AD, written as ­ in HTML). You decide where the break is allowed to happen.
  • auto: The browser picks break points from a language-specific dictionary loaded for the lang value on the element or a parent. Soft hyphens still override the dictionary's choice.

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.

What vendor prefixes does CSS hyphens need?

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> */
  • -webkit-hyphens: Required for Safari on macOS below Ventura, Safari on iOS below 17, and Chrome 55 to 87 on every platform.
  • -ms-hyphens: Required for Internet Explorer 10 and 11 and for legacy Edge 12 to 18.
  • -moz-hyphens: Required for Firefox 6 to 42. Firefox 43+ reads the unprefixed property, so the -moz- line is only worth shipping when the user base still includes very old Firefox builds.
  • hyphens: The unprefixed standard. Chrome 88+, Edge 105+, Firefox 43+, and Safari Ventura+ read this line.
...

What are the known issues with CSS hyphens?

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.

  • Missing lang attribute: Without lang on the element or a parent, hyphens: auto silently does nothing. The browser cannot pick a dictionary, so the page falls back to no breaks at all.
  • Different dictionaries per browser: Chrome, Firefox, and Safari each ship their own hyphenation data. The same English paragraph can break in three different spots, which is fine for body copy but bad for any pixel-perfect layout.
  • Limited language coverage in Firefox and IE: Both browsers only ship dictionaries for a subset of languages, so hyphens: auto on a Vietnamese or Hindi page may produce nothing while the same page hyphenates in Chrome.
  • Legacy Android Browser only honors none: Android Browser 2.1 to 4.4.4 accepts -webkit-hyphens: none but ignores manual and auto, which surprises any team still testing on KitKat handsets.
  • word-break: break-all suppresses hyphens: If word-break: break-all is set on the same element, the browser drops the hyphen character even when it picks a hyphenation point.

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.

...

Citations

All CSS hyphens version numbers and platform notes in this guide come from these primary sources:

Author

Prince Dewani is a Community Contributor at TestMu AI, where he manages content strategies around software testing, QA, and test automation. He is certified in Selenium, Cypress, Playwright, Appium, Automation Testing, and KaneAI. Prince has also presented academic research at the international conference PBCON-01. He further specializes in on-page SEO, bridging marketing with core testing technologies. On LinkedIn, he is followed by 4,300+ QA engineers, developers, DevOps experts, tech leaders, and AI-focused practitioners in the global testing community.

Open in ChatGPT Icon

Open in ChatGPT

Open in Claude Icon

Open in Claude

Open in Perplexity Icon

Open in Perplexity

Open in Grok Icon

Open in Grok

Open in Gemini AI Icon

Open in Gemini AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free

Frequently asked questions

Did you find this page helpful?

More Related Hubs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests