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


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).

hyphenate-character: <string>;
hyphenate-character: auto;



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.


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 valueauto
Applies toall elements
Computed valueas specified
Animation typediscrete

Formal syntax

hyphenate-character = 
auto |


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 &shy;). 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.


  <dt><code>hyphenate-character: "="</code></dt>
  <dd id="string" lang="en">Superc&shy;alifragilisticexpialidocious</dd>
  <dt><code>hyphenate-character is not set</code></dt>
  <dd lang="en">Superc&shy;alifragilisticexpialidocious</dd>


dd {
  width: 90px;
  border: 1px solid black;
  hyphens: auto;

dd#string {
  -webkit-hyphenate-character: "=";
  hyphenate-character: "=";



CSS Text Module Level 4
# propdef-hyphenate-character

Browser compatibility

BCD tables only load in the browser

See also