# Non-breaking space

A non-breaking space is a space character that occupies the width of an ordinary space but forbids a line break at its position, so the words or symbols on either side stay together when text is wrapped. The standard non-breaking space is the Unicode character U+00A0 NO-BREAK SPACE (abbreviated NBSP), the nonbreaking counterpart of U+0020 SPACE.<sup>[1](https://unicode.org/versions/Unicode18.0.0/core-spec/chapter-23/)</sup> In HTML it is written as the entity `&nbsp;`.<sup>[2](https://www.w3schools.com/HTML/HTML_entities.asp)</sup>

| Key fact | Detail |
|---|---|
| Code point | U+00A0 NO-BREAK SPACE (NBSP), Latin-1 Supplement block, general category Space Separator; Unicode 1.0 name was "Non-Breaking Space"<sup>[3](https://www.unicodecharacter.org/u%2B00a0)</sup> |
| Width and behavior | Same width as U+0020 SPACE, but no line breaks are permitted between it and surrounding characters under normal circumstances<sup>[1](https://unicode.org/versions/Unicode18.0.0/core-spec/chapter-23/)</sup> |
| Exceptions to no-break | A break is still allowed if the preceding or following character is a line or paragraph separator, a space, or a zero width space<sup>[1](https://unicode.org/versions/Unicode18.0.0/core-spec/chapter-23/)</sup> |
| HTML form | The entity `&nbsp;`; the early HTML 3.0 draft specified that the user agent should never break lines at this point<sup>[2](https://www.w3schools.com/HTML/HTML_entities.asp)</sup><sup> • </sup><sup>[4](https://www.w3.org/MarkUp/html3/specialchars.html)</sup> |
| Related characters | U+2011 NON-BREAKING HYPHEN, U+2007 FIGURE SPACE, U+202F NARROW NO-BREAK SPACE, U+0F0C TIBETAN MARK DELIMITER TSHEG BSTAR<sup>[5](https://www.w3.org/html/wg/wiki/HTMLCharacterUsage)</sup> |
| Zero-width alternative | U+2060 WORD JOINER indicates the absence of line breaks like NBSP but has no width<sup>[1](https://unicode.org/versions/Unicode18.0.0/core-spec/chapter-23/)</sup> |

## Purpose and typical uses

The character exists for places where a line break would be visually disruptive or semantically wrong, such as between a number and its unit of measure, between a title and a name, or within a date format.<sup>[3](https://www.unicodecharacter.org/u%2B00a0)</sup> The HTML 3.0 draft described the intended use plainly: to ensure that neighboring words always stay together and do not get split across lines.<sup>[4](https://www.w3.org/MarkUp/html3/specialchars.html)</sup>

## Behavior in the Unicode Line Breaking Algorithm

Line breaking in Unicode is governed by Unicode Standard Annex #14, the Unicode Line Breaking Algorithm, a tailorable set of rules that assigns line breaking properties to characters and determines where break opportunities exist.<sup>[6](https://www.unicode.org/reports/tr14/tr14-17.html)</sup> Under normal circumstances no line break is permitted between U+00A0 and the characters around it, unless the preceding or following character is a line or paragraph separator, a space, or a zero width space.<sup>[1](https://unicode.org/versions/Unicode18.0.0/core-spec/chapter-23/)</sup>

The character also participates in justification. When inter-word space is expanded or compressed according to common typographic practice, the spaces subject to compression are U+0020 SPACE, U+00A0 NO-BREAK SPACE, and U+3000 IDEOGRAPHIC SPACE, and the spaces subject to expansion are U+0020, U+00A0, and occasionally U+2009 THIN SPACE.<sup>[7](https://unicode.org/reports/tr14/tr14-16.html)</sup> The Unicode Standard adds that fixed-width space characters other than the no-break space generally do not expand during justification.<sup>[8](https://www.unicode.org/versions/latest/ch06.pdf)</sup>

## Additional roles in Unicode

**Base character for combining marks.** U+00A0 is the preferred base character for showing a combining mark in isolation, because a combining sequence takes the line breaking behavior of its base character. Using U+0020 SPACE as the base is deprecated; if a break before or after the sequence is desired, U+200B ZERO WIDTH SPACE can be used instead.<sup>[9](https://www.unicode.org/standard/reports/tr14/)</sup>

**Bidirectional layout.** Unlike U+0020, U+00A0 behaves as a numeric separator for the purposes of bidirectional layout under the Unicode Bidirectional Algorithm, which affects how text mixing left-to-right and right-to-left runs is ordered.<sup>[8](https://www.unicode.org/versions/latest/ch06.pdf)</sup>

## Related no-break and line-break characters

Unicode provides several characters with comparable no-break semantics. U+2011 NON-BREAKING HYPHEN keeps a hyphenated word from breaking at the hyphen.<sup>[5](https://www.w3.org/html/wg/wiki/HTMLCharacterUsage)</sup><sup> • </sup><sup>[2](https://www.w3schools.com/HTML/HTML_entities.asp)</sup> U+2060 WORD JOINER behaves like U+00A0 in that it indicates the absence of line breaks, but it has no width; it can also be bracketed around characters that lack nonbreaking variants, such as U+2009 THIN SPACE, to prevent breaks next to them.<sup>[1](https://unicode.org/versions/Unicode18.0.0/core-spec/chapter-23/)</sup> The code point U+FEFF, better known as the byte order mark, carried word-joining semantics until Unicode 3.2, but U+2060 WORD JOINER is strongly preferred for any new text.<sup>[1](https://unicode.org/versions/Unicode18.0.0/core-spec/chapter-23/)</sup> The HTML Working Group wiki notes that a no-break space can equivalently be produced with the sequence WORD JOINER + SPACE + WORD JOINER, since the word joiner can be combined with any word-boundary character to make it non-breaking.<sup>[5](https://www.w3.org/html/wg/wiki/HTMLCharacterUsage)</sup>

## Use in web technology

In HTML, character references such as `&nbsp;` are escape sequences used to represent characters, including invisible ones that would otherwise be impossible to type.<sup>[10](https://developer.mozilla.org/en-US/docs/Glossary/Character_reference)</sup> CSS handles the character with one web-compatibility exception: there is a soft wrap opportunity before and after each replaced element or other atomic inline even when adjacent to a character that would normally suppress breaks, including U+00A0 NO-BREAK SPACE, although no such opportunity may exist between atomic inlines and adjacent characters of the GL, WJ, or ZWJ line breaking classes.<sup>[11](https://www.w3.org/TR/css-text-3/)</sup>

Early HTML support was uneven. The HTML 3.0 draft recorded that the non-breaking space and the soft hyphen indicator were not recognized and interpreted by all HTML browsers, and discouraged their use at that time.<sup>[4](https://www.w3.org/MarkUp/html3/specialchars.html)</sup>

## References

1. [The Unicode Standard, Chapter 23 (Unicode 18.0.0), Unicode Consortium](https://unicode.org/versions/Unicode18.0.0/core-spec/chapter-23/)
2. [HTML Character Entities, W3Schools](https://www.w3schools.com/HTML/HTML_entities.asp)
3. [U+00A0 No-Break Space Unicode Character, unicodecharacter.org](https://www.unicodecharacter.org/u%2B00a0)
4. [Special Characters, HTML 3.0 draft, W3C](https://www.w3.org/MarkUp/html3/specialchars.html)
5. [HTMLCharacterUsage, HTML WG Wiki, W3C](https://www.w3.org/html/wg/wiki/HTMLCharacterUsage)
6. [UAX #14: Line Breaking Properties, version 4.1.0, Asmus Freytag, Unicode Consortium](https://www.unicode.org/reports/tr14/tr14-17.html)
7. [UAX #14: Line Breaking Properties, revision 16, Unicode Consortium](https://unicode.org/reports/tr14/tr14-16.html)
8. [The Unicode Standard, Chapter 6: Writing Systems and Punctuation](https://www.unicode.org/versions/latest/ch06.pdf)
9. [UAX #14: Unicode Line Breaking Algorithm, Unicode Consortium](https://www.unicode.org/standard/reports/tr14/)
10. [Character reference, MDN Web Docs Glossary](https://developer.mozilla.org/en-US/docs/Glossary/Character_reference)
11. [CSS Text Module Level 3, W3C](https://www.w3.org/TR/css-text-3/)

---
*Topic: Encyclopedia › Technology and the built world › Computing and digital systems › Software and programming › Web development and web-platform technologies*

*Initially written Sep 17, 2026 · Reviewed: Sep 19, 2026; Oct 15, 2026 · Edited: Sep 19, 2026; Oct 15, 2026 · Last review: Oct 15, 2026*

*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*

License: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license
