ChatGPT invisible character detector

A reading of your text, not a codepoint census. The difference matters.

Check ChatGPT text for invisible characters. Free, 5 runs per 24 hours, up to 12,000 characters, with an honest account of what it can and cannot tell you.

5 free runs every 24 hours
0 chars / 0 words
free runs per rolling 24 hours
5
characters maximum per run
12,000
on authorship, ever
No verdict

The tool

What the ChatGPT invisible character detector does

Paste text copied out of ChatGPT and this page analyses it for invisible characters and the other habits that survive a copy and paste, then describes what it found in plain language. It is free, it allows five runs per rolling 24 hours, and it takes between 1 and 12,000 characters per run.

Your text is sent to our AI server for that analysis. It does not run in your browser, and if that matters to you, read the next section, because there is a local tool here that does and it may be the one you actually want.

Pick the right one

This detector, or the local ChatGPT character cleaner

These are two different instruments and most pages in this category only sell one of them. This detector is a language model reading your text. It is good at describing what it notices and putting it in context, and it is not a counting instrument. It will not hand you a verified table of codepoints and occurrence counts, and you should not treat any sentence it produces as a measurement.

The ChatGPT zero-width space remover on this site is the other kind. It runs in your browser, nothing is uploaded, there is no usage limit, and it works from a fixed list of 14 invisible and space-like characters. Every one of them is found and removed exactly, because the operation is a comparison against a list rather than a judgement.

So: if you want to know precisely which invisible characters are in your text and get rid of them, use the local cleaner. If you want a description of what your ChatGPT text looks like, including things a fixed list cannot capture, this page is the one.

Procedure

How to check ChatGPT text for invisible characters in three steps

Three steps, and the middle one is where people lose material without noticing.

Step 1
Copy the text straight out of ChatGPT rather than out of a document you have already pasted it into. Some editors normalise on paste, which quietly changes what there is to find.
Step 2
Paste it into the box on this page. The run accepts 1 to 12,000 characters, so long pieces go through in sections. Leading and trailing whitespace is trimmed before the run, so anything sitting right at the very start or very end may not reach the analysis.
Step 3
Read the result as a description, not a count. If you need the exact characters removed, take the text to the local cleaner afterwards.

Reference

The 14 invisible characters the local cleaner handles

Competing pages advertise 87 and 104 characters. One of them lists fourteen codepoints on the page and then writes 'and 90 more' without showing them. Our deterministic list is 14 and here it is in full, which is the whole of it.

Zero-width group
U+200B zero-width space, U+200C zero-width non-joiner, U+200D zero-width joiner, U+2060 word joiner. Invisible, they occupy a character slot and they break find-and-replace and spell-check.
U+FEFF byte-order mark
A byte-order mark sitting in the middle of a document. Confuses parsers, feeds and validators, and shows as a stray glyph in some editors.
U+00AD soft hyphen
Invisible until a line wraps, at which point a hyphen appears in a word that never had one.
Space look-alikes
U+00A0 no-break space, U+202F narrow no-break space, U+200A hair space. They look like ordinary spaces and are not, so cleaning replaces them with a normal space rather than deleting them.
Directional controls
U+202A and U+202B embeddings, U+202C pop directional formatting, U+202D and U+202E overrides. Invisible controls that reorder how text is displayed, which is why a stray one can make a file name or a link read differently from what it is.
The exception
A zero-width joiner sitting between two emoji is building a single glyph rather than hiding in your prose, and it is left alone.

Consequences

What invisible characters in ChatGPT text actually break

Find-and-replace is the usual first casualty. A search for a phrase fails because a zero-width character is sitting inside it, and nothing on screen explains why. The same mechanism breaks spell-check, which sees two fragments where you see a word.

URL slugs and identifiers are worse, because the failure is silent and downstream. A no-break space or a zero-width character in a slug, a filename or a database key produces a value that looks right in every interface and does not match the one you meant.

Then there is wrapping. A no-break space refuses to break, so a line that should wrap runs past its column, and a soft hyphen does the opposite by inserting a hyphen the moment a wrap happens to land there.

Cause

Why ChatGPT text carries invisible characters at all

The popular explanation is deliberate watermarking, and the pages that have looked at it closely mostly reject that. The argument against is simple and good: a marker anyone can delete with one paste into a free tool is not much of a marker.

The narrow no-break space is the one most often associated with ChatGPT output specifically, typically turning up around dashes and numbers. What generates it is not something this page can establish from the outside, and we are not going to guess at intent we cannot verify.

What is worth remembering is that these characters are not exclusive to AI at all. Word processors, content management systems, PDF extraction and ordinary copying between applications all introduce them. Finding one tells you about your text, not about who wrote it.

Straight answer

Does removing invisible characters help with AI detectors?

No, and this has been tested rather than merely argued. Originality.ai published a test of exactly this and reported that adding or removing hidden characters did not change the detectability of AI-generated content.

That result makes sense once you look at what detectors examine. They work on the words: sentence rhythm, vocabulary distribution, structural regularity. An invisible character is not a word and contributes nothing to any of that.

So clean your text because invisible characters break search, slugs and wrapping, which is a real problem with a real fix. Do not clean it expecting a different verdict from a detector, and be wary of any page in this category that lets you believe it will.

In practice

Who checks ChatGPT text for invisible characters, and when

Writers and editors moving drafted text into a CMS, where an invisible character in a headline or a slug causes a problem that is very hard to diagnose after publication.

Developers pasting generated strings into code, config or test fixtures. A zero-width character in a comparison string produces a failure that looks like a logic bug and is not one.

Anyone handing text to another system where it will be searched later. Checking costs one paste. Not checking costs you a search that returns nothing, weeks later.

FAQ

Questions people ask about ChatGPT invisible characters

Everything below is answered in full, nothing to click open.

How do I check ChatGPT text for invisible characters?

Paste it into the box on this page and run the analysis. For an exact removal pass, use the local ChatGPT zero-width space remover instead.

Is the ChatGPT invisible character detector free?

Yes. Five runs per rolling 24 hours, at no cost and with no account.

Why only five runs a day?

Because this route runs an AI analysis on our server, and that has a cost. The local cleaner on this site has no limit at all.

How much text can I check at once?

Between 1 and 12,000 characters per run. Longer pieces go through in sections.

Is my text uploaded?

Yes, to our AI server, because the analysis runs there. If you would rather nothing left your browser, use the local cleaner.

Does this give me a list of codepoints and counts?

No. This is a language model describing your text. The exact codepoint work is what the local cleaner does.

How many invisible characters does the local cleaner handle?

Fourteen, and all fourteen are named on this page. It is a fixed list, not an estimate.

Competitors say 87 or 104. Why is yours 14?

Because 14 is the size of the list our cleaner actually works from. One of those 104-character pages shows fourteen codepoints and then writes 'and 90 more'.

Which invisible character is most associated with ChatGPT?

The narrow no-break space, U+202F, usually turning up around dashes and numbers. It is on our list.

Does ChatGPT watermark text with hidden characters?

Pages that have examined this mostly conclude not, on the grounds that a marker anyone can delete in one paste is not a useful marker.

Does finding these characters prove ChatGPT wrote the text?

No. Word processors, content systems and PDF extraction all introduce them. The finding is about the text, not about its author.

Will removing them help me pass an AI detector?

No. Originality.ai tested this and reported that adding or removing hidden characters did not change detectability.

Why not, if they are a signal?

Because detectors read the words: rhythm, vocabulary, structure. An invisible character is not a word.

What do these characters actually break?

Find-and-replace, spell-check, URL slugs, filenames, database keys and line wrapping. All of them fail silently.

Is an em dash an invisible character?

No. It is visible and it is handled by the em dash routes on this site, not by the invisible character list.

Will cleaning break emoji?

No. A zero-width joiner between two emoji is building a single glyph and is left alone.

Will it break Persian or Arabic text?

Zero-width non-joiners are meaningful in Persian and some Indic scripts, so review those texts before cleaning rather than after.

Why did a character at the very start not show up?

Leading and trailing whitespace is trimmed before the run, which can remove a space-like character sitting right at either end.

Can I check a file?

No. This takes pasted text only.

Is there an API or batch mode?

Neither is offered here.

Does it work on a phone?

Yes, in a mobile browser.

Are you affiliated with OpenAI or Originality.ai?

No. Neither company is connected to this site, and we make no claim about what their products will report.

Check your ChatGPT text

Paste up to 12,000 characters for a description of what is in it, or take it to the local cleaner for an exact pass over the 14 characters.

Analyze text