gptcleanuppro.com / chatgpt-invisible-character-detector
Ready · server0w
free analyses on this remote route
5 / 24h
codepoints on the deterministic list
14
this route describes, it does not tally
No count

Scope

What this ChatGPT invisible character detector is

This route runs a language model over your text and returns a description of what it observes. It is not the deterministic scanner, and conflating the two is the first mistake available on this subject. Five runs per rolling 24 hours, 1 to 12,000 characters per run, and the text is sent to our AI server because that is where the model is.

The distinction is the difference between two categories of claim. A scanner asserts that a given codepoint occurs at a given index, and that assertion is checkable. A model asserts that your text appears to contain certain things, which is a description, and a description is not a measurement however confidently it is worded.

Instrument

Determinism and description, as two ways of finding invisible characters

The deterministic route on this site, the ChatGPT zero-width space remover, compares your text against a fixed list of 14 codepoints. Every occurrence is found and none is invented, because comparison against a list has no discretion in it. It runs in the browser, nothing is uploaded, and there is no usage limit, all of which follow from the operation being cheap and mechanical.

A model has the opposite properties throughout. It costs something per run, which is why there are five. It can consider things no list enumerates, which is its only real advantage. And it has discretion, which means it can be wrong in ways a comparison cannot.

The correct use of each follows. Use the deterministic tool for anything you intend to rely on, and this one when you want the text characterised rather than enumerated. Most pages competing for this term offer one tool for both jobs and elide the difference.

Procedure

How to check ChatGPT text for invisible characters in three steps

With the acquisition of the sample treated as part of the method, because it determines what is left to observe.

Step 1
Copy from the source rather than from an intermediate document. Editors normalise on paste, so text that has passed through one application has already been altered in ways that are invisible by definition.
Step 2
Paste within the 12,000 character bound. The input is trimmed first, and JavaScript trimming removes Unicode whitespace, so a no-break space or byte-order mark at the extreme start or end is gone before analysis begins.
Step 3
Treat the output as a hypothesis about the text. If a decision rests on it, confirm with the deterministic tool, which is free, unlimited and local, so there is no cost to doing so.

The number

Why the invisible character list is 14 and not 104

Competitors in this result set advertise 87 and 104 characters. The number is a marketing surface, and it is worth looking at what sits behind it. One page claiming 104 prints fourteen codepoints and then the words 'and 90 more', with the ninety appearing nowhere. Another claiming 87 groups punctuation, em dashes, en dashes and smart quotes, into the same table as zero-width characters, which inflates the count by including things that are not invisible at all.

Our deterministic list has 14 entries: U+200B, U+200C, U+200D and U+2060 in the zero-width group; U+FEFF and U+00AD; the space look-alikes U+00A0, U+202F and U+200A; and the directional controls U+202A, U+202B, U+202C, U+202D and U+202E. That is the complete list, and it can be checked against the behaviour of the tool.

A smaller list stated in full is a stronger claim than a larger one stated in part, because it is falsifiable. If a character is not on it, we say it is not handled rather than implying coverage by way of a number.

Inference

The base rate problem with any invisible character finding

A finding is often read as evidence of machine authorship, and the inference does not hold. These characters are common in text that never touched a model. Word processors insert no-break spaces and soft hyphens as a matter of routine. Content management systems add them on save. PDF text extraction produces space look-alikes in volume, and web scraping produces stray directional controls.

Which means the population of documents containing these characters is dominated by ordinary ones, and a positive finding shifts your belief far less than intuition suggests. This is the standard base rate error, appearing here in a form nobody in the category names.

The narrow no-break space, U+202F, is the character most specifically associated with ChatGPT output, typically around dashes and numbers. Even there the honest statement is an association observed from outside, not a verified mechanism, and the reading of it as deliberate watermarking is rejected by the pages that looked hardest at it, on the ground that a marker removable by one paste is not a marker.

Straight answer

Does removing invisible characters change a detector's output?

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

The result is what the mechanism predicts. Detectors operate on lexical and structural features: sentence length distribution, vocabulary choice, syntactic regularity. An invisible character participates in none of these, so removing it changes no feature any scorer reads.

The implication runs the other way too, and is worth stating. Because these characters carry no weight with detectors, cleaning them is not an evasion technique and nobody should sell it as one. The reason to clean is that they break search, slugs, keys and wrapping.

Counter-cases

When removing an invisible character is the wrong move

Not every one of these characters is debris, and a cleaning pass that does not know the difference causes damage that is as invisible as the problem it fixed.

The zero-width non-joiner, U+200C, is meaningful in Persian and in several Indic scripts, where it controls how letters form. Stripping it from that text changes the words. The zero-width joiner, U+200D, builds composite emoji, which is why our cleaner leaves a joiner sitting between two pictographic characters alone rather than deleting every instance it finds. And in genuinely bidirectional text, directional controls may be doing necessary work rather than loitering.

This is the argument for a small documented list over a large undisclosed one. You can reason about fourteen characters and decide which your text needs. You cannot reason about ninety you have not been shown.

Limits

The limits of this ChatGPT invisible character detector

Five runs per rolling 24 hours, 1 to 12,000 characters per run, and text sent to our AI server. Every competing tool in this result set is local and unlimited, so this route is worse than the category on exactly those axes, and the deterministic tool on this site that is local and unlimited is one click away.

No codepoint table and no occurrence count from this route, because it is a model rather than a counter. No claim about authorship, plagiarism or which model produced a text, which is a constraint written into the instruction the model receives, not a stylistic choice. No file upload, pasted text only. No API and no batch mode.

And no affiliation with OpenAI, Originality.ai or any other tool named here, nor any prediction about what their products will report.

FAQ

The ChatGPT invisible character detector, answered precisely

All answered in full, nothing to click open.

What does this route actually do?

It runs a language model over your text and describes what it observes. It is not the deterministic scanner.

Why does that distinction matter?

A scanner makes checkable assertions about codepoints. A model produces a description, and a description is not a measurement however confidently worded.

Which tool should I rely on?

The deterministic one, for anything a decision rests on. It is local, unlimited and free, so confirming costs nothing.

How many runs do I get?

Five per rolling 24 hours, not per calendar day.

What is the length limit?

1 to 12,000 characters per run. Outside that the request is rejected.

Is my text uploaded?

Yes, to our AI server. The deterministic tool on this site uploads nothing.

How many codepoints are on the deterministic list?

Fourteen, all named on this page.

Why do others claim 87 or 104?

One inflates the count by including visible punctuation. Another prints fourteen codepoints followed by 'and 90 more' and never shows them.

Is a smaller list a weaker tool?

It is a more falsifiable one. A list you can read in full can be checked against the behaviour, which a headline number cannot.

Does a finding prove a machine wrote the text?

No. Word processors, content systems and PDF extraction produce the same characters, so the base rate is dominated by ordinary documents.

Is U+202F a ChatGPT signature?

It is the character most associated with that output, usually around dashes and numbers. Association observed from outside is not a verified mechanism.

Are these characters a watermark?

The pages that have examined it mostly say not, on the ground that a marker anyone can delete in one paste is not a marker.

Will removing them change an AI detector's verdict?

No. Originality.ai tested it and reported no change in detectability.

Why not?

Detectors score lexical and structural features. An invisible character participates in none of them.

So why clean at all?

Because these characters break find-and-replace, spell-check, slugs, filenames, keys and line wrapping, all without visible symptoms.

Is cleaning ever harmful?

Yes. U+200C carries meaning in Persian and several Indic scripts, and U+200D builds composite emoji.

How is the emoji case handled?

A zero-width joiner sitting between two pictographic characters is treated as glyph construction and left in place.

Why did a character at the start of my paste disappear?

The input is trimmed first, and JavaScript trimming removes Unicode whitespace, which includes several characters on the list.

Can I submit a file?

No, pasted text only.

Is there an API or batch mode?

Neither is offered on this route.

Do you claim anything about authorship?

No. That constraint is written into the instruction the model receives, not adopted as a style.

Any affiliation with the tools named here?

None, and no prediction is offered about what any of them will report about your text.

Analyse ChatGPT text

Up to 12,000 characters for a description, then the deterministic tool for anything you intend to rely on.

Analyze text