Non-breaking hyphen (‑) is the General Punctuation character at Unicode U+2011 (NON-BREAKING HYPHEN). It looks like a normal hyphen but prevents a line break at that position — useful in hyphenated words, codes, and headlines. HTML5 defines no named entity for it.
Remember
Character ‑
Unicode U+2011
Named entity (none)
Hex entity ‑
Decimal ‑
CSS escape \2011
All of these produce the same glyph: ‑. Prefer a pasted ‑ in UTF-8 pages; use numeric or CSS forms when you need an escape.
Reference
Quick Reference
One table for every form you will actually use.
Form
Code
Where it goes
Direct character
‑
HTML text (UTF-8 default)
Named entity
none
Not defined in HTML5
Hex entity
‑
HTML markup
Decimal entity
‑
HTML markup
CSS escape
\2011
Stylesheet content
When to Use Which
Situation
Use
Hyphenated text that must stay on one line
‑ or paste ‑
Normal hyphen (wrapping OK)
Type - (U+002D)
Optional hyphenation hint
­ (U+00AD)
Non-breaking space
(U+00A0) — see Related Topics
Generated text via ::before / ::after
content: "\2011"
See it
Live Preview
Non-breaking hyphen rendered in common contexts.
Glyph‑
Large glyph‑
In a wordnon‑breaking
With entitiesHex: ‑ | Decimal: ‑
Related- (U+002D) · ­ ·
Code
Complete HTML Example
One page that shows the non-breaking hyphen with hex, decimal, direct, and CSS forms. Use View Output or open the live editor.
Hex + Decimal + Direct + CSS
Four ways to produce ‑ in a single document (no named entity).
Using Hex Code: ‑
Using HTML Code: ‑
Using Direct Character: ‑
Using CSS Entity: ‑
Example: non‑breaking
How It Works
1. Hex:U+2011 → ‑ in HTML. Reliable numeric form.
2. Decimal: same code point as 8209 → ‑. Same glyph.
3. Direct: paste ‑ in a UTF-8 file with <meta charset="UTF-8">.
4. CSS: use \2011 in content (not an HTML entity). #point::after appends that ‑ after the paragraph text.
Pitfalls & Tips
Common mistakes when working with the non-breaking hyphen.
Named
No named entity
HTML5 has no &... name for U+2011 — use hex or decimal instead (unlike for spaces).
Not
Hyphen vs space
‑ keeps a hyphenated join together. keeps a space from wrapping. Different jobs.
Look-alikes
Not - or ­
ASCII - (U+002D) may allow a break. Soft hyphen ­ suggests an optional break. Non-breaking hyphen forbids the break.
CSS vs HTML
Do not mix escapes
\2011 belongs in CSS. ‑ / ‑ belong in HTML.
Semicolon
End references
Always finish with ; — write ‑, not ‑.
UTF-8
Declare charset
If you paste ‑ directly, serve the page as UTF-8 with <meta charset="UTF-8">.
Compatibility
Browser Support
Non-breaking hyphen (U+2011) and its entity forms (‑, ‑, CSS \\2011) are supported in all mainstream browsers. Line-break behavior follows Unicode rules; glyph availability depends on the font.
✓ Universal support
Non-Breaking Hyphen (‑)
Paste ‑, or encode with hex, decimal, or CSS escape — same glyph everywhere. No named entity.
100%Browser coverage
Google ChromeSupported
Yes
Microsoft EdgeSupported
Yes
Mozilla FirefoxSupported
Yes
Apple SafariSupported
Yes
OperaSupported
Yes
Internet ExplorerAll versions
Yes
U+2011 / entitiesFull support
Bottom line: Prefer a pasted ‑ in UTF-8 text. Use ‑ / ‑ when a numeric form is required, and \\2011 only inside CSS content.
Remember
Key Takeaways
Unicode: non-breaking hyphen is U+2011 (decimal 8209), General Punctuation.
HTML: no named entity — use ‑ or ‑.
CSS: use \2011 inside content for generated text.
Use: keep hyphenated joins together — not the same as -, ­, or .
One line:U+2011 → ‑ / ‑ / CSS \2011 (no named entity).
Frequently Asked Questions
Use ‑ (hex), ‑ (decimal), type ‑ in UTF-8, or the CSS escape \2011 in content. There is no HTML5 named entity for U+2011.
U+2011 (NON-BREAKING HYPHEN). Hex 2011, decimal 8209. It belongs to General Punctuation and prevents a line break at the hyphen.
No. HTML5 does not define a named entity for this character. Use numeric references like ‑ or ‑ when you need an entity form.
Use it in hyphenated words or codes that must stay on one line (e.g. non‑breaking, product IDs). Prefer a regular hyphen (-) when wrapping is fine. Use when you need a non-breaking space, not a hyphen.
HTML entities (‑ or ‑) go in markup. The CSS escape \2011 is used in stylesheets (usually in the content property of ::before/::after). Both render ‑.
Hyphen-minus (-) is U+002D and may allow a break. Soft hyphen (­, U+00AD) is an optional break hint. Non-breaking space ( , U+00A0) keeps spaces from wrapping. ‑ specifically keeps a hyphenated join from wrapping.
🤔
Did you know?
Non-breaking hyphen (‑) is Unicode U+2011 (decimal 8209) — NON-BREAKING HYPHEN in General Punctuation. HTML5 has no named entity — use ‑ or ‑. It looks like a hyphen but blocks a line break at that position. For spaces that must not wrap, use (U+00A0) instead.