`hyphenate-character` CSS property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It's been available across browsers since September 2023.
The hyphenate-character CSS property sets the character (or string) used at the end of a line before a hyphenation break.
Both automatic and soft hyphens are displayed according to the specified hyphenate-character value.
Try it
hyphenate-character: auto;
hyphenate-character: "=";
hyphenate-character: "—";
<section id="default-example"> <p id="example-element">An extraordinarily long English word!</p> </section>
#example-element {
border: 2px dashed #999999;
font-size: 1.5rem;
text-align: left;
width: 7rem;
hyphens: auto;
}
Syntax
hyphenate-character: <string>; hyphenate-character: auto;
The value either sets the string to use instead of a hyphen, or indicates that the user agent should select an appropriate string based on the current typographic conventions (default).
Values
-
<string> - The
<string>to use at the end of the line before a hyphenation break. The user agent may truncate this value if too many characters are used. -
auto - The user-agent selects an appropriate string based on the content language's typographic conventions. This is the default property value, and only needs to be explicitly set in order to override a different inherited value.
Formal definition
| Initial value | auto |
|---|---|
| Applies to | all elements |
| Inherited | yes |
| Computed value | as specified |
| Animation type | discrete |
Formal syntax
hyphenate-character =
auto |
<string>
Examples
This example shows two identical blocks of text that have hyphens set to ensure that they break wherever needed, and on soft hyphen breaks (created using ­). The first block has the value of the hyphen changed to the equals symbol (=). The second block has no hyphenate-character set, which is equivalent to hyphenate-character: auto for user agents that support this property.
HTML
<dl> <dt><code>hyphenate-character: "="</code></dt> <dd id="string" lang="en">Superc­alifragilisticexpialidocious</dd> <dt><code>hyphenate-character is not set</code></dt> <dd lang="en">Superc­alifragilisticexpialidocious</dd> </dl>
CSS
dd {
width: 90px;
border: 1px solid black;
hyphens: auto;
}
dd#string {
-webkit-hyphenate-character: "=";
hyphenate-character: "=";
}
Result
Specifications
| Specification |
|---|
| CSS Text Module Level 4 # propdef-hyphenate-character |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | |
hyphenate-character |
106
6
|
106
79
|
98 |
92
15
|
17
5.1
|
106
18
|
98 |
72
14
|
17
5
|
20.0
1.0
|
106
4.4
|
17
5
|
auto |
6 |
79 |
98 |
15 |
5.1 |
18 |
98 |
14 |
5 |
1.0 |
4.4 |
5 |
See also
- Related CSS properties:
hyphens,overflow-wrap.
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/hyphenate-character