Non-breaking Hyphen

U+2011

About Non-breaking Hyphen

Non-breaking Hyphen is the Unicode character ‑ at codepoint U+2011 in the General Punctuation block of the Basic Multilingual Plane (BMP).

Jump to developer notes ↓

Reference

A hyphen that forbids a line break. UnicodeData.txt gives it the compatibility decomposition <noBreak> 2010, which is the standard's way of saying this is the plain hyphen plus a no-break promise, and the line-break data files it as GL — Glue, which prohibits a break on both sides rather than merely after. Use it inside anything that must not be split across two lines: a part number, a phone number, a hyphenated surname. Two costs come with it. It has no named HTML entity — the numeric form is the only one — and it is not in Windows-1252, so an eight-bit legacy pipeline cannot carry it. It is general category Pd, in General Punctuation since Unicode 1.1.

Typical uses

  • Part numbers, model codes and reference numbers that must stay intact
  • Hyphenated surnames and place names in running text
  • Any compound where a break would make the reader reassemble the word

At a glance

  • U+2011, General Punctuation; Unicode 1.1; general category Pd
  • Line break class GL (Glue) — no break on either side
  • Decomposition: <noBreak> 2010, so NFKC and NFKD map it to U+2010
  • No named HTML entity; no Windows-1252 slot

Historical Notes

Origins

There is no separate history here: this is the ordinary hyphen with a typesetting instruction attached, and Unicode encoded it in 1.1 alongside the rest of General Punctuation. The interesting history is the decomposition, which was recorded at the same time and is what makes the character fragile.

Unicode

Unicode 1.1, general category Pd. The code chart carries no annotation at all beyond the decomposition line — no usage note, no cross-references. For a character with a documented failure mode that is a thin entry.

What the decomposition costs

<noBreak> is a compatibility decomposition, so the K normalisation forms apply it. Running the character through NFKC or NFKD returns U+2010: the same shape, the same meaning, and no promise. NFC and NFD leave it alone. Anyone can check it in one line — Python's `unicodedata.normalize('NFKC', '\u2011')` returns U+2010.

Developer Notes

Unicode Codepoint
Decimal
UTF-8 (hex)
UTF-16 (hex)
HEX Entity
HTML Entity
CSS (\xxxx)
JavaScript
Python

How to Use Non-breaking Hyphen

To use the Non-breaking Hyphen symbol (‑) in HTML, insert the entity &#x2011; directly into your markup. The decimal entity &#8209; works in any HTML-serialised document.

In CSS pseudo-elements use content: '\2011';. In JavaScript and TypeScript the escape '\u2011' evaluates to ‑. In Python source, write '\u2011'.

The character encodes to E2 80 91 as UTF-8 bytes and 2011 as UTF-16 code units. Its decimal codepoint is 8209.

This is a text-based Unicode character. It will render in the current font on most platforms. If a font lacks this glyph, the browser may show a placeholder or fall back to a system font.

Things to know

  • NFKC and NFKD destroy it. Any pipeline that normalises on write — a search index, an identifier normaliser, some database collations — returns the breakable plain hyphen and nothing signals the loss. NFC and NFD leave it intact.
  • It will not match a search for an ordinary hyphen, and it is visually indistinguishable from one at body-copy sizes.
  • Glue means no break on either side. If you want a break to be *possible* but not preferred, this is the wrong character.
  • No named HTML entity exists. Write it as a numeric reference or as the character itself in a UTF-8 document.
  • Font coverage is uneven. Where the glyph is missing the usual result is not an error but a letterform that changes typeface mid-word — check rather than assume.

In the Wild

One sighting, and it is the right one. practicaltypography.com's chapter on hyphens and dashes, on 4 August 2026, uses this character exactly once — in the phrase "an adverb ending in ‑ly", where a break between the hyphen and "ly" would be absurd. The same page carries 207 soft hyphens, so its author is plainly thinking about line breaking on purpose.

Nowhere else. Fifteen other live pages the same day — the home pages of the Guardian, BBC News, AP, the New York Times, Le Monde, Der Spiegel, Dagens Nyheter, NOS, Kathimerini and Protothema, MDN's CSS hyphens page, unicode.org's Unicode 17.0.0 page, a Norwegian weather forecast and two Wikipedia articles — carried zero occurrences between them. MDN's page about hyphenation contains 1,205 ASCII hyphens and not one of these.

The only other pages carrying it were English Wikipedia's "Dash" (7) and Russian Wikipedia's "Тире" (9), both articles about the subject. Pages change; this is what those showed on the day.

FAQ

How is this different from an ordinary hyphen?

Only in line breaking. Same meaning, same shape; this one forbids a break on either side of it.

Why does it disappear from my data?

Because NFKC and NFKD normalisation map it to U+2010 hyphen. If something in your pipeline normalises, the no-break property is gone and nothing reports it.

Is there an HTML entity for it?

No named one. Use the numeric reference or the literal character.

Can I use it in a URL or an identifier?

Inadvisable. Identifier pipelines commonly normalise, and normalisation is exactly what removes it.

What about CSS instead?

If the aim is to keep a phrase together on screen, white-space and word-break rules are a more robust lever than a character that normalisation can rewrite.

Similar Symbols