U+202F
NARROW NO-BREAK SPACE

Narrow non-breaking space. Used in German and French typography.

Codepoint
U+202F
Short
NNBSP
Group
space-variant
Class
context-dependent
Default
replaced
Replaced by
U+0020

What it is

A narrow non-breaking space: the same behaviour as an ordinary non-breaking space, drawn thinner. French typography requires it before certain punctuation, and German uses it inside abbreviations and between a number and its unit.

Where it comes from

From properly set typography — and, more often noticed lately, from text produced by language models, where it turns up around units and punctuation. That has made it one of the characters people go looking for.

When it belongs

Often. A non-breaking space between a number and its unit is correct typography in German, French and English alike, and keeping a value and its unit on one line is the whole point of it.

That is why TraceFree replaces these characters with an ordinary space rather than deleting them. Deleting merges words: a price would lose the gap between the number and the currency symbol. Replacing keeps the text readable and makes the spacing predictable.

What TraceFree does with it

PresetAction
conservativeasked about
defaultreplaced
report-onlyasked about
strictreplaced

Context guards can only ever make a cleanup gentler, never sharper. A rule saying “always remove” does not override them.

How to remove it

In TraceFree, turn on the clipboard watcher and copy the text — the finding appears with a before-and-after comparison of the affected lines. For files, a watched folder does the same, keeping a backup copy alongside.

How to write it

This page never prints the character itself, only ways of writing it. A page about invisible characters that contained invisible characters would be unreviewable — and that is the problem the program exists to solve.

NotationValue
UnicodeU+202F
Rust\u{202F}
JavaScript, Python\u202F
HTML   
Regex (PCRE, Rust)\x{202F}

Related characters