Invisible character
Also called Zero-width character · Zero-width space · ZWSP
An invisible character is a Unicode character that renders as no visible mark but is genuinely present in the text — most often a zero-width space, zero-width non-joiner, or byte-order mark.
Last reviewed 15 August 2026 · The HumanFlow team
In plain English
They look like nothing and they are not nothing. Word counts, similarity matching and text comparison all see them, because to software they are ordinary characters that happen to draw zero pixels.
Most arrive innocently. Copying from a web page, a PDF, a design tool or a messaging app routinely brings them along, and nobody involved has done anything unusual.
A worked example
One sentence, twice. The two are visually identical and are not the same string.
A The results were significant.
B The results were significant.
A 54 68 65 20 72 65 73 75 6C 74 73 ... 28 characters
B 54 68 65 20 72 65 73 75 6C 74 73 E2 80 8B 29 characters
^^^^^^^^
U+200B zero-width space
a text comparison sees two different stringsNothing renders differently. The extra codepoint is real, and any system comparing text character by character treats B as not matching A.
That is the whole mechanism, and it cuts both ways. It is why an innocent copy-paste can quietly change a document, and it is why deliberately scattering them through a submission is a recognised way of trying to defeat matching.
It is also why they get flagged. Detecting them is trivial — far easier than judging writing style — so a report that surfaces them is reporting something it can actually see, unlike an AI writing score.
Why it matters for AI detection
An integrity flag for hidden or unusual characters is a different class of evidence from a detection score. It describes an observable property of the file, which either is or is not there, rather than an inference about how the text reads.
That makes it harder to argue with and, for the same reason, worth understanding before you are asked about one. The honest explanation is usually the true one — text was pasted from somewhere that carried them — and it is a much better answer than not knowing where they came from.
Deliberately inserting them to break similarity matching is the sort of thing that converts an arguable case into a straightforward one. It demonstrates intent in a way that a percentage never does, which is why we would advise against it whatever your view of the underlying score.
Commonly confused with
- Integrity flags
- Flags for hidden characters sit on the same report as the AI and similarity scores, but they report an observable fact about the file rather than a judgement about the writing.
- Watermarking
- A watermark is a deliberate statistical signal from the model's operator. Invisible characters are ordinary Unicode, usually arriving by accident, and carry no information about who wrote anything.
Read next
Part of the AI detection glossary.