ChatGPT hidden characters
Paste ChatGPT text to reveal any hidden or unusual characters — narrow no-break spaces, zero-width spaces and the rest — and copy a clean version. It runs in your browser; nothing is uploaded.
Facts checked against the sources below on .
Does ChatGPT put hidden characters in its text?
Not on purpose, as far as anyone can show. OpenAI’s real ChatGPT watermark, textGrain, is statistical, and OpenAI’s help center says it “does not add hidden characters, invisible spaces, or unusual punctuation.” But ChatGPT text can still contain characters that don’t belong in ordinary typing, and that’s what people find when they run it through a checker.
The best-known case came in April 2025, when the AI company Rumi found narrow no-break spaces (U+202F), sometimes alongside ordinary no-break spaces, in longer answers from the o3 and o4-mini models but not from GPT-4o. It was widely reported as a hidden watermark. Developers later reported the same character in GPT-5 output, where it breaks text rendering in some macOS apps. Neither looks like a deliberate mark: they come and go between answers, and the narrow no-break space is a normal typographic character — French, for one, puts it before some punctuation.
Characters you may find in ChatGPT text
| Code point | Name | What to know |
|---|---|---|
U+202F | Narrow no-break space | Looks like a space but blocks line breaks. The character people found in o3 and o4-mini answers in April 2025, and later in GPT-5 output. |
U+00A0 | No-break space | A full-width space that blocks line breaks. Often appears next to U+202F. |
U+200B | Zero-width space | Takes up no room at all. Usually arrives with text copied from web pages, editors or other apps. |
U+2060 · U+FEFF | Word joiner · byte-order mark | Invisible glue characters; the BOM often rides along with text from files. |
U+2014 · U+201C | Em dash · curly quotes | Visible, not hidden — but the punctuation readers most associate with ChatGPT. |
Zero-width characters and byte-order marks rarely come from the model itself. They tend to arrive when text passes through web pages, editors, browser extensions and other apps — so the same checks apply to text from any chatbot.
Why remove them if they aren’t a watermark?
Because they are the one thing about AI text that anyone can detect with certainty. A character scan takes milliseconds, and a narrow no-break space in an English essay is an obvious oddity. They also cause practical problems: lines that won’t wrap, words that won’t match in search, and broken rendering in some apps.
How to remove them
- Paste your text into the checker above. It lists every hidden character, its code point and where it first appears.
- Copy without hidden characters. No-break and narrow no-break spaces become ordinary spaces, so words don’t run together; zero-width characters are deleted; emoji that need invisible joiners are kept.
- Working in a document? See how to remove them in Word and Google Docs.
Hidden characters vs the ChatGPT watermark
Clearing hidden characters does nothing to textGrain, which OpenAI is adding to ChatGPT text for users in the EU. That watermark is in the choice of words, so it survives copy-paste and character cleaning; only substantial rewriting weakens it. To deal with both at once, use the ChatGPT watermark remover, which rewrites the wording and strips hidden characters in the same pass.