Unicode spaces and formatting characters
Compare ordinary, no-break, thin, and zero-width spaces. See how formatting characters affect line breaks, joining, and text matching.
Space
The ordinary space U+0020 separates words and usually allows a line break. It differs from a tab and a no-break space.
DetailsNo-break space
The no-break space U+00A0 keeps adjacent text together, such as a number and its unit. It can look just like an ordinary space.
DetailsNarrow no-break space
The narrow no-break space U+202F keeps text together with a narrower intended gap. Its exact width depends on the font.
DetailsThin space
The thin space U+2009 adds a narrow typographic gap. Unlike narrow no-break space, it does not carry the same no-break behavior.
DetailsEn space
The en space U+2002 is conventionally half an em wide. Use it for a text-spacing convention, rather than for aligning columns.
DetailsEm space
The em space U+2003 is conventionally an em wide. It is one spacing character, rather than several ordinary spaces.
DetailsZero-width space
The zero-width space U+200B allows a possible line break without adding a visible gap. Inspect it when text wraps at an unexpected point.
DetailsZero-width non-joiner
The zero-width non-joiner U+200C can prevent characters from joining in scripts that use joined forms. It is not a general word separator.
DetailsZero-width joiner
The zero-width joiner U+200D affects script shaping and can join parts of an emoji sequence. Removing it may change how the sequence appears.
DetailsWord joiner
The word joiner U+2060 discourages a line break without adding a visible gap. It differs from zero-width space, which allows a break opportunity.
DetailsSoft hyphen
The soft hyphen U+00AD marks a place where a word may break with a hyphen. It usually stays invisible when no break is taken.
Details