Non-breaking space is the Latin-1 character at Unicode U+00A0 (NO-BREAK SPACE). It looks like a normal space but prevents a line break between the words or units it joins. HTML5 provides the named entity (also  ).
Remember
Character (invisible space)
Unicode U+00A0
Named entity (also  )
Hex entity  
Decimal  
CSS escape \00A0
All of these insert the same character. Prefer for readable HTML source.
Reference
Quick Reference
One table for every form you will actually use.
Form
Code
Where it goes
Named entity
HTML markup (also  )
Hex entity
 
HTML markup
Decimal entity
 
HTML markup
Direct character
U+00A0 in UTF-8
HTML text (hard to see in editors)
CSS escape
\00A0
Stylesheet content
When to Use Which
Situation
Use
Keep number + unit together
10 kg
Readable HTML source
Normal wrapping space
Type a regular space (U+0020)
Non-breaking hyphen
‑ — see Related Topics
Generated text via ::before / ::after
content: "\00A0"
See it
Live Preview
Non-breaking space is invisible — shown here joining text that should stay together.
Between wordsHello World
Number + unit10 kg
Named entity → space
Numeric formsHex   | Decimal  
Relatednormal space · ‑ (nb hyphen) · ­
Code
Complete HTML Example
One page that shows the non-breaking space with named, hex, decimal, and CSS forms. Use View Output or open the live editor.
Named + Hex + Decimal + CSS
Four ways to insert U+00A0 so “Hello World” and “10 kg” stay together.
Use (named),   or   (hex),   (decimal), or the CSS escape \00A0 in content. All insert U+00A0. Prefer for readable HTML.
U+00A0 (NO-BREAK SPACE). Hex A0 / 00A0, decimal 160. It belongs to the Latin-1 Supplement and prevents a line break at that space.
Yes. HTML5 defines and   for U+00A0. You can also use   or  .
Use it to keep related pieces on one line — number and unit (10 kg), title and name, or short phrases that should not wrap awkwardly. Do not use for layout or indentation; use CSS instead.
HTML entities ( ,  , or  ) go in markup. The CSS escape \00A0 is used in stylesheets (usually in the content property of ::before/::after). Both insert a no-break space.
A normal space (U+0020) may allow a line break. A non-breaking hyphen (U+2011) keeps a hyphenated join together. keeps a space join together. Different characters for different jobs.
🤔
Did you know?
Non-breaking space (U+00A0, decimal 160) is NO-BREAK SPACE in Latin-1 Supplement. HTML5 provides (also  ). It looks like a normal space but prevents a line break between the words or units it joins — classic uses include 10 kg and keeping a name together.