September 2, 2026 What Is the Narrow No-Break Space in ChatGPT?

U+202F is the narrow no-break space. It is a Unicode space that looks like a normal space, takes slightly less width, and forbids a line break at that position. In April 2025 it started showing up in longer ChatGPT pastes from o3 and o4-mini. People pasted into Google Docs, wrapping broke, and the internet called it a watermark.

 

OpenAI said it was a quirk of large-scale reinforcement learning. Contemporary reporting said the character was gone from those models by 23 April 2025. Originality.ai still lists U+202F among the code points it will strip as injection, so if you are still seeing glue between words that will not wrap, it is worth checking for this code point even now.

 

How it differs from a normal space

 

Code point

 

 

Name

 

 

Wraps?

 

 

Looks like a space?

 

 

U+0020

 

 

Space

 

 

Yes

 

 

Yes

 

 

U+00A0

 

 

No-break space

 

 

No

 

 

Yes

 

 

U+202F

 

 

Narrow no-break space

 

 

No

 

 

Yes

 

 

U+200B

 

 

Zero-width space

 

 

Optional break, no width

 

 

No

 

 

 

U+202F is the one that fools you in a product UI because the paragraph looks professional and then a button label or a mobile column overflows.

 

How to see it

 

In Python:

 

for i, ch in enumerate(text): if ch == "\u202F": print(i, hex(ord(ch)))

 

In a browser console, [...text].filter(c => c === '\u202F').length.

 

If the count is above zero, replace \u202F with a normal space. Do not delete it, or you will smash two words together.

 

Was this a ChatGPT text watermark?

 

OpenAI did not present it as one. A watermark that a find-and-replace can delete in one keystroke would be a poor provenance signal. The company's shipped provenance in 2026 is C2PA and SynthID on images, SynthID on supported audio. Text still has no public watermark product.

 

Call U+202F what it is: a space that refuses to wrap.

 

Where a ChatGPT text cleaner fits

 

GPTCleanup's homepage scan will flag unusual spaces along with other paste junk and let you copy a character-clean version without a plan. Phrase detection and humanization are paid. For U+202F you only need the free copy.

 

Detectors that score writing (Turnitin, GPTZero, Originality) do not hinge on this character. Originality's strip-and-add test did not move AI scores. Fix the wrap. Leave the sentences alone unless you meant to edit them.

 

Why April 2025 got so loud

 

Narrow no-break spaces are common in French typography before ; ! ?. A model that spent time on that convention can over-emit U+202F in English. When o3 and o4-mini did it at volume, every Docs user hit the same wrap bug in the same week, and "watermark" was the available story.

 

The correction from OpenAI (training quirk, then gone from those models) is the version to remember. The leftover lesson is: any unusual space that looks identical to U+0020 can ship in a paste, from a model or from Word itself. Your cleaner should treat U+202F like U+00A0. Replace with a breaking space. Do not treat it as proof of a secret ID.

 

Product UI where this still bites

 

Button labels, table cells, and email subject lines. Subjects that will not wrap on a phone, or a badge that overflows its chip, are classic U+202F. If your design system uses white-space: nowrap already, the extra glue is invisible until QA on a 320px viewport.

 

I keep a screenshot of a chip overflowing by four pixels. The extra was one narrow no-break space after a slash. No model conspiracy. One character.

 

If you are building an editor, normalise \u202F to \u0020 on paste. If you are an end user, run the homepage scan and copy the clean version. Either path is a one-line fix once you know the name of the character.

 

French copy and when you should keep U+202F

 

In French, a thin non-breaking space before ? ! ; : is correct typography. If your ChatGPT output is French and you are publishing in French, a global replace of U+202F can make est-ce ? wrap as est-ce on one line and ? on the next, which looks sloppy in print.

 

The English ChatGPT-paste case is the opposite: the model scattered U+202F where a breaking space belongs. Know the language of the draft before you normalise. GPTCleanup's general English homepage path replaces unusual spaces for wrapping. A French typesetting pass is a different checklist.

 

For a mixed document, normalise only in the English sections, or replace U+202F with U+00A0 if you must keep the glue and only care about width, not about "narrow." That is a design choice. Document it so the next editor does not undo it.

Comment