In word processing and digital typesetting, a non-breaking space, , also called NBSP, required space, hard space, or fixed space (though it is not of fixed width), is a space character that prevents an automatic line break at its position. In some formats, including HTML, it also prevents consecutive whitespace characters from collapsing into a single space.
|In Unicode||U+00A0 NO-BREAK SPACE ( ,  )|
|U+202F NARROW NO-BREAK SPACE|
U+0020 SPACE (Note: Representations here of a regular space are replaced with a no-break space)
Non-breaking space characters with other widths also exist.
Text-processing software typically assumes that an automatic line break may be inserted anywhere a space character occurs; a non-breaking space prevents this from happening (provided the software recognizes the character). For example, if the text "100 km" will not quite fit at the end of a line, the software may insert a line break between "100" and "km". An editor who finds this behavior undesirable may choose to use a non-breaking space between "100" and "km". This guarantees that the text "100 km" will not be broken: if it does not fit at the end of a line, it is moved in its entirety to the next line.
A second common application of non-breaking spaces is in plain text file formats such as SGML, HTML, TeX and LaTeX, whose rendering engines are programmed to treat sequences of whitespace characters (space, newline, tab, form feed, etc.) as if they were a single character (but this behavior can be overridden). Such "collapsing" of whitespace allows the author to neatly arrange the source text using line breaks, indentation and other forms of spacing without affecting the final typeset result.
In contrast, non-breaking spaces are not merged with neighboring whitespace characters when displayed and can therefore be used by an author to simply insert additional visible space in the resulting output without using spans styled with peculiar values of the CSS "white-space" property. Conversely, indiscriminate use (see the recommended use in style guides), in addition to a normal space, gives extraneous space in the output.
Other non-breaking variants, defined in Unicode:
‹; today often also before
:), in Russian (before em dash [—]), and in German between multi-part abbreviations (e.g. "z. B.", "d. h.", "v. l. n. r."). When used with Mongolian, its width is usually one third of the normal space; in other contexts, its width is about 70% of the normal space but may resemble that of the thin space (U+2009), at least with some fonts. Also starting from release 34 of Unicode Common Locale Data Repository (CLDR) the NNBSP is used in numbers as thousands group separator for French and Spanish locale.
On browsers, resizing the window will demonstrate the effect of non-breaking spaces on the texts below.
To show the non-breaking effect of the non-breaking space, the following words have been separated with non-breaking spaces:
To show the non-collapsing behavior of the non-breaking space, the following words have been separated with an increasing number of non-breaking spaces:
In contrast, the following words are separated with ordinary spaces:
|Unicode name||NO-BREAK SPACE||FIGURE SPACE||NARROW NO-BREAK SPACE||WORD JOINER|
|UTF-8||194 160||C2 A0||226 128 135||E2 80 87||226 128 175||E2 80 AF||226 129 160||E2 81 A0|
|Numeric character reference||
|Named character reference|| ,  || ||⁠|
|ISO/IEC 8859 (1–16) / ECMA-94||160||A0|
|Windows code pages: 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258||160||A0|
|DOS code pages: 437, 850, 851, 852, 853, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 869||255||FF|
|HP Roman-8, HP Roman-9||160||A0|
In Unicode, the Byte order mark (BOM), U+FEFF, may be interpreted as a "zero width no-break space", but is a deprecated alternative to word joiner (U+2060).
It is rare for national or international standards on keyboard layouts to define an input method for the non-breaking space. An exception is the Finnish multilingual keyboard, accepted as the national standard SFS 5966 in 2008. According to the SFS setting, the non-breaking space can be entered with the key combination AltGr + Space.
|Microsoft Windows||Alt+0160 or Alt+255 (doesn't always work)|
|Linux or Unix using X11||Compose, Space, Space or AltGr+Space|
|GNU Emacs||Ctrl+X 8 Space|
|Vim||Ctrl+K, Space, Space; or Ctrl+K, ⇧ Shift+N, ⇧ Shift+S|
|Dreamweaver, LibreOffice, Microsoft Word,
OpenOffice.org (since 3.0), AutoCAD
|Ctrl+⇧ Shift+Space[note 1]|
|FrameMaker, LyX (non-Mac), OpenOffice.org (before 3.0),
|Mac Adobe InDesign||⌥ Opt+⌘ Cmd+X|
Apart from this, applications and environments often have methods of entering unicode entities directly via their code point, e.g. via the Alt Numpad input method. (Non-breaking space has code point
255 decimal (
FF hex) in codepage 437 and codepage 850 and code point
160 decimal (
A0 hex) in codepage 1252.)
Alle Abkürzungen mit Binnenpunkten werden im Deutschen mit einem gFL [geschütztes flexibles Leerzeichen] spationiert. [...] Die englische Schreibweise sieht keine Abstände zwischen einzelnen Buchstaben vor. Nach einem Binnenpunkt folgt demnach ohne gFL sofort der nächste Buchstabe.