HTML Entity for Soft Hyphen (U+00AD)

Beginner
5 min read
Updated: Sep 2026
1 example
Unicode U+00AD

What Is Soft Hyphen?

Soft hyphen is the Unicode character at U+00AD in Latin-1 Supplement. Official name: SOFT HYPHEN. It marks an optional break point inside a word — invisible unless the line wraps there.

Remember
Character     (invisible until wrap)
Unicode       U+00AD
Named entity  ­
Hex entity    ­
Decimal       ­
CSS escape    \AD
Not the same  - · ‐ · ‑

Prefer ­ inside long words in HTML. Place soft hyphens at sensible syllable boundaries. Do not use them where you always want a visible hyphen.

Quick Reference

One table for every form you will actually use.

FormCodeWhere it goes
Named entity­HTML markup (preferred)
Hex entity­HTML markup
Decimal entity­HTML markup
CSS escape\ADStylesheet content
Visible hyphen-minus- (U+002D)Always-shown hyphen
Non-breaking hyphen‑ (U+2011)Hyphen that should not break

When to Use Which

SituationUse
Optional break in a long word­ (e.g. extraordi­nary)
Always-visible hyphen- (hyphen-minus) or ‐
Hyphen that must stay with both parts‑
Generated soft hyphen via CSScontent: "\AD"
Normal short words that already wrap fineSkip soft hyphens

Live Preview

Soft hyphens are invisible until a wrap is needed. The narrow boxes force optional breaks.

Named (­) extraordi­nary
Long word inter­nation­alization
vs visible - extra-ordinary (hyphen always shown)
vs ‑ non‑breaking (prefers not to split)
With entities Named: ­ | Hex: ­ | Decimal: ­

Complete HTML Example

Soft hyphens inside a narrow box. Narrow the editor or viewport to see optional breaks. Use View Output or open the live editor.

Named + Hex + Decimal + CSS

Four ways to insert U+00AD into long words. Soft hyphen stays invisible when the word fits on one line.

html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Soft Hyphen (U+00AD) in HTML</title>
  <style>
    .narrow {
      width: 8em;
      border: 1px solid #ccc;
      padding: 0.5rem;
    }
    #point::after {
      content: "\AD";
    }
  </style>
</head>
<body>
  <p class="narrow">Named: extraordi&shy;nary</p>
  <p class="narrow">Hex: extraordi&#xAD;nary</p>
  <p class="narrow">Decimal: extraordi&#173;nary</p>
  <p id="point">Using CSS Entity: </p>
</body>
</html>
Try It Yourself

How It Works

1. Named: &shy; is the HTML5 name for U+00AD. Best default inside long words.

2. Hex: U+00AD → &#xAD; in HTML. Same soft-hyphen behavior as named.

3. Decimal: same code point as 173 → &#173;. Same result as hex and named.

4. CSS: use \AD in content (not an HTML entity). #point::after appends a soft hyphen after the paragraph text.

5. Narrow box: .narrow { width: 8em; } forces wrapping so you can see the optional hyphen appear at the soft-hyphen position.

Pitfalls & Tips

Common mistakes when working with &shy;.

Invisible

Not broken = not visible

If the word fits on one line, soft hyphen shows nothing. That is correct behavior — not a bug.

vs -

Not an always-on hyphen

Hyphen-minus (-) always displays. Soft hyphen only appears when a wrap happens at that point.

vs ‑

Not non-breaking hyphen

U+2011 (‑) prefers to keep both sides together. Soft hyphen invites a break when needed.

Placement

Use syllable-friendly spots

Prefer breaks like extraordi&shy;nary, not random mid-syllable cuts that look odd when wrapped.

Overuse

Do not soft-hyphen everything

Add soft hyphens only where long words cause layout problems. Short words usually do not need them.

CSS vs HTML

Do not mix escapes

\AD belongs in CSS strings. &shy; / &#xAD; / &#173; belong in HTML.

Browser Support

Soft hyphen (U+00AD) and its entity forms (&shy;, &#xAD;, &#173;, CSS \\AD) are supported in all mainstream browsers for optional word breaking.

✓ Universal support

Soft Hyphen (U+00AD)

Encode with named, hex, decimal, or CSS escape — same optional-break behavior everywhere soft hyphen is supported.

100% Browser coverage
Google Chrome Supported
Yes
Microsoft Edge Supported
Yes
Mozilla Firefox Supported
Yes
Apple Safari Supported
Yes
Opera Supported
Yes
Internet Explorer All versions
Yes
U+00AD / entities Full support

Bottom line: Prefer &shy; in HTML. Use &#xAD; / &#173; when numeric form is required, and \\AD only inside CSS content.

Key Takeaways

  • Unicode: soft hyphen is U+00AD (decimal 173) — optional break, not always visible.
  • HTML: prefer &shy; — also &#xAD; / &#173;.
  • CSS: use \AD inside content for generated soft hyphens.
  • Meaning: optional wrap hint — not -, not ‐, not ‑.

One line: U+00AD → &shy; / &#xAD; / &#173; / CSS \AD (shows only when wrapping).

Frequently Asked Questions

Use &shy; (named), &#xAD; (hex), &#173; (decimal), or the CSS escape \AD in content. Prefer &shy; inside long words in markup.
U+00AD (SOFT HYPHEN). Hex AD, decimal 173. It belongs to the Latin-1 Supplement block (U+0080–U+00FF).
Yes. Use &shy;. Numeric forms &#173; and &#xAD; also work.
By design it is invisible when the word fits on one line. A hyphen appears only if the browser breaks the line at that soft-hyphen position.
Use it for optional breaks in long words in narrow columns or responsive layouts — not as a substitute for a visible hyphen you always want shown.
HTML entities (&shy;, &#173;, or &#xAD;) go in markup. The CSS escape \AD goes in stylesheet strings (usually content on ::before/::after).

Did you know?

Soft hyphen is Unicode U+00AD (decimal 173) in Latin-1 Supplement. HTML5 names it &shy;. Official name: SOFT HYPHEN. It marks an optional break inside a word — invisible unless the browser wraps at that point. Do not confuse with hyphen-minus U+002D (-), hyphen U+2010 (‐), or non-breaking hyphen U+2011 (‑).

Next: Sound Recording Copyright

Learn the HTML entity for sound recording copyright (U+2117).

Sound Recording Copyright tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

8 people found this page helpful