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. It is also known as a hard space or fixed space.
The difference between an NBSP and a normal space is that, when a string including the NBSP comes at the end of the line, and is too long to fit, it will move the whole string to the next line (including the strings that the NBSP connects to). This is analogous to how normal strings wrap. For example, the string "ambidextrously" will never be "broken", and neither will the string "am bi dextrous ly" when the spaces are nonbreaking.
Use as non-collapsing whitespace
A second common application of the NBSP characters is in plain text
file formats for word processing applications (e.g., SGML
) that treat sequences of white-space characters
(such as space, newline, tabulator, form feed, etc.) exactly as if they were a single character. Such collapsing of whitespace allows the author of the plain text file to neatly arrange the text in this form (e.g., by line breaks and indentation), without affecting the typeset result of the line-breaking algorithm.
The no-break space character is not merged with any other neighboring whitespace characters in such applications, and can therefore be used by an author to explicitly insert additional visible space in the formatted text.
Use in typesetting
Non-breaking spaces are used in typesetting where visual separation does not imply line-breakability. Examples are the spaces between words and punctuation in traditional typesetting's spacing rules. In French spacing
, for example, a non-breaking space is inserted between words and their enclosing quotation marks and between the last word of a sentence and a question mark.
Keyboard entry methods
None of the existing national or international standards on keyboard layouts
currently define an input method for the NBSP character. Therefore, the authors of keyboard drivers or application programs (e.g., word processors
) had to invent their own keyboard shortcuts
Unicode defines several other no-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.