Exotic spaces
NO-BREAK SPACE (U+00A0)
A space that forbids a line break. It looks exactly like a normal space and is a completely different codepoint.
- Codepoint
U+00A0- Category
- Exotic spaces
- Removed by default
- No
- Governing option
- Spaces
-s - Can be load-bearing
- No
Where it comes from
HTML ` `, word processors (which insert one automatically after a short word in some languages), copy-paste from web pages, and every French keyboard layout, where the rule is a space before `;` `:` `?` `!`.
Why it matters
It is the most common invisible difference in ordinary text. Search, `split(" ")`, CSV parsing, form validation and string comparison all treat it as a different character, and no reviewer will ever spot it. It is also a ready-made binary channel: NBSP for 1, plain space for 0.
Before and after
Identical on screen. Only the second one splits into two tokens on a plain space.
The character is shown as a labelled chip so you can see where it sits. In your text it draws nothing at all.
When it is legitimate
Constantly. "10 km", "Fig. 3", French punctuation spacing, and keeping a name from splitting across lines. This is a character with a real job, which is why Ghostchars does not touch it by default.
How to remove it
Turn on Spaces (`-s`). It is REPLACED with an ordinary space rather than deleted, so the words stay apart.
Is it an AI watermark?
Appears in some AI output — not a watermark
It does turn up in model output — often in French or German text, where the training data is full of it, and around units. That is not a watermark: it is the same typography a human typesetter or a French keyboard produces. A no-break space proves nothing about who wrote the sentence.
It genuinely turns up in model output, as ordinary typography learned from the training data. It is not deliberate, not detectable by design, and not evidence about any single document.
Questions
Why is it not removed by default?
Because it is doing a job in most of the text it appears in. Deleting it would join words together, and normalising it silently would change typography people chose on purpose.
Is it an AI tell in French text?
No. French typography requires a space before `;` `:` `?` and `!`, and the correct one is a no-break space. Finding them in French is evidence of correct French, not of a machine.
Why does my search miss it?
Because it is codepoint U+00A0 and your query contains U+0020. They render the same and compare differently.
Check your own text
Paste anything into the cleaner to see every hidden character it contains, with position, codepoint and what happens to each one. Nothing is uploaded.