The Full Wiki

Non-breaking space: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

In computer-based text processing and digital typesetting, a non-breaking space or no-break space (NBSP) is a variant of the space character that prevents an automatic line break (line wrap) at its position. In certain formats (such as HTML) it also prevents the "collapsing" of multiple consecutive whitespace characters into a single space. The non-breaking space is also known as a hard space or fixed space.


Non-breaking behaviour

Text-processing software typically assumes that an automatic line break may be inserted anywhere a space character occurs; a non-breaking space prevents this happening (provided the software recognises the character, of course). 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". To avoid this undesirable behaviour, the editor 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.

Non-breaking spaces may be used between words and punctuation in traditional typesetting's spacing rules. In French spacing, for example, a narrow non-breaking space is inserted between words and their enclosing quotation marks (for first-level quotation marks only) and between the last word of a sentence and a composite punctuation sign (semi-colon, question mark, exclamation mark, interrobang…).

When rendering non-breaking spaces, programs should do it respecting every property of the standard space-character, except its line-breaking behavior. However, there are programs which do not follow this intent exactly -- for example, even such a modern and widespread web browser like Mozilla Firefox's version 3.5.3, released in 2009. Firefox (correctly) suppresses the line-wrapping when rendering the non-breaking space, but it (incorrectly) ignores the word-spacing CSS style property value. Other programs may also suffer from the same flaw. This simple HTML code will demonstrate this flaw on affected browsers (copy/paste it into some text editor, save as test.htm, and open it in your browser):

<html><body style="word-spacing:1em">
This paragraph shows extreme wide<br>
spaces between words, because of<br>
1em word-spacing CSS style property.

Note: As of version 3.6, Firefox does respect the word-spacing CSS style property value.

Use as non-collapsing whitespace

A second common application of non-breaking spaces is in plain text file formats such as SGML, HTML, TeX and LaTeX that treat sequences of whitespace characters (space, newline, tab, form feed, etc.) as if they were a single whitespace character. 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, and can therefore be used by an author to insert additional visible space in the formatted text. For example, in HTML, non-breaking spaces may be used in conjunction with a fixed-width font to create tabular alignment:

   Column 1  Column 2
   --------  --------
        1.2       2.3

(notice that the use of the pre tag is an alternative, if not better way to achieve the same result)

If ordinary spaces are used instead then the spaces are collapsed when the HTML is rendered and the layout is broken:

Column 1 Column 2
-------- --------
1.2 2.3


Format Representation of non-breaking space
Unicode and ISO/IEC 10646 U+00A0. This can be encoded by UTF-8 as 0xC2 0xA0.
ISO/IEC 8859 0xA0
CP1252 (windows default) 0xA0
KOI8-R 0x9A
CP437 and CP850 0xFF
SGML and HTML (including Wikitext) Character entity reference: &nbsp;
Numeric character references: &#160; or &#xa0;
TeX tilde (~)
ASCII Not available

Unicode defines several other non-break space characters that differ from the regular space in width:

  • No-break thin space, known in Unicode as "NARROW NO-BREAK SPACE" (U+202F). This is required for French punctuation (before ?, ! or ;).
  • Word joiner, encoded in Unicode 3.2 and above as U+2060. The word-joiner does not normally produce any space but prohibits a line break on either side of it.
  • The Byte Order Mark, U+FEFF, officially named "ZERO WIDTH NO-BREAK SPACE", can also be used with the same meaning as the word joiner, but in current documents this use is deprecated. See also Zero-width non-breaking space.

Keyboard entry methods

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.[1]

Typically, authors of keyboard drivers and application programs (e.g., word processors) have devised their own keyboard shortcuts for the non-breaking space. For example:

System/application Entry method
Mac OS Option+Space
X11 Compose, Space, Space
emacs Ctrl+X 8 Space
vim Ctrl+K N S
Microsoft Word, Dreamweaver, (since 3.0)
WordPerfect, (before 3.0), LyX Ctrl+Space, Ctrl+Shift+Space for recent OpenOffice (see LP)
GNOME Ctrl+Shift+U 00A0
Many office applications Insert → Symbol dialog box (Latin-1 subset, after ~)

See also


  1. ^ Kotoistus: Uusi näppäinasettelu = Status of the new Keyboard Layout. A bi-lingual (Finnish + English) presentation page collecting drafts of the Finnish Multilingual Keyboard. CSC – IT Center for Science Ltd. (Page updated 2006-12-28.)


Got something to say? Make a comment.
Your name
Your email address