Narrow non-breaking space. Used in German and French typography.
space-variantcontext-dependentA 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.
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.
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.
| Preset | Action |
|---|---|
conservative | asked about |
default | replaced |
report-only | asked about |
strict | replaced |
Context guards can only ever make a cleanup gentler, never sharper. A rule saying “always remove” does not override them.
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.
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.
| Notation | Value |
|---|---|
| Unicode | U+202F |
| Rust | \u{202F} |
| JavaScript, Python | \u202F |
| HTML |     |
| Regex (PCRE, Rust) | \x{202F} |