Skip to content
Ghostchars

Zero-width and invisible

BRAILLE PATTERN BLANK (U+2800)

The braille cell with no dots raised. It is a printing character with a real advance width, but nothing is drawn.

Codepoint
U+2800
Removed by default
Yes
Governing option
No option needed
Can be load-bearing
No

Where it comes from

Braille documents, and internet culture — it is the character behind "invisible" nicknames and blank chat messages, because it is not whitespace and so passes filters that reject empty input.

Why it matters

It defeats "message cannot be empty" checks, pads text with invisible width, and looks like a space to a reader while sorting and comparing as a braille character.

Before and after

BeforehiU+2800U+2800U+2800
Afterhi

Three braille blanks: visible width, no ink, and not a space.

The character is shown as a labelled chip so you can see where it sits. In your text it draws nothing at all.

When it is legitimate

Inside actual braille content, where it is the space between cells.

How to remove it

The default pass removes it. Run a braille document through the cleaner only if you are certain the braille itself is not the content.

Is it an AI watermark?

Not a watermark

No. It is the standard trick for posting a "blank" message on platforms that reject empty ones. It has nothing to do with generated text.

No connection to machine-generated text. It comes from software, from a keyboard, or from a person.

Questions

Why do blank chat messages contain it?

Because a message made of braille blanks is not empty and not whitespace, so the "empty message" check passes and the message renders as nothing.

Does removing it break braille?

Yes — in real braille content it is the inter-cell space. Do not run a braille document through the default pass.

Check your own text

Paste anything into the cleaner to see every hidden character it contains, with position, codepoint and what happens to each one. Nothing is uploaded.

Check your own textAll characters