Exotic spaces
NARROW NO-BREAK SPACE (U+202F)
A thinner no-break space, about half the width of a normal one, used where a full space would look too wide.
- Codepoint
U+202F- Category
- Exotic spaces
- Removed by default
- No
- Governing option
- Spaces
-s - Can be load-bearing
- No
Where it comes from
French typography (the modern recommendation before `;` `:` `?` `!` and inside large numbers), Mongolian, and — the reason people search for it — some ChatGPT output, where it appears in front of French punctuation and occasionally in English.
Why it matters
It is the character behind most "is this text AI-generated?" posts, and the answer is more boring than the question. It is also a real invisible difference: it breaks search and tokenisation exactly like U+00A0.
Before and after
Correct French punctuation spacing. The narrow space is the typographically right character here.
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
French and Swiss typography, number grouping (1 000 000), and Mongolian. All standard, all correct.
How to remove it
Turn on Spaces (`-s`) and it is replaced with an ordinary space.
Is it an AI watermark?
Appears in some AI output — not a watermark
This is the honest answer people come here for: yes, U+202F does appear in some ChatGPT output, particularly around French punctuation — and it is ALSO standard French typography that predates every language model by decades. It is not a watermark, it is not deliberate, it is not detectable-by-design, and finding one tells you nothing reliable about authorship. Anyone selling it as proof of AI writing is selling you a coin flip.
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
Is a narrow no-break space proof that ChatGPT wrote this?
No. It appears in some model output and it is also what correct French typography, LaTeX, InDesign and many keyboards produce. A single character cannot establish authorship, and Ghostchars will never tell you it can.
Then why does it show up in model output at all?
Because the training data contains a great deal of correctly typeset French and technical writing. The model reproduces the typography it learned, the same way it reproduces em dashes.
Should I remove it?
Only if you need plain ASCII spacing — for a code field, a CSV, or a system that treats it as a strange character. In French prose it is correct and worth keeping.
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.