Skip to content
Ghostchars

Zero-width and invisible

COMBINING GRAPHEME JOINER (U+034F)

A zero-width combining mark that exists to change how two characters sort and collate, not how they look. It never renders.

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

Where it comes from

Specialist linguistic and library data where collation order has to be forced. Outside that, it usually arrives from a tool that wanted an invisible character nobody would think to check.

Why it matters

It is a combining mark, so some editors will not even let you put the cursor between it and the letter before it. That makes it unusually hard to notice and to delete by hand.

Before and after

BeforechU+034Fair
Afterchair

A combining mark with no visible form, wedged into an ordinary word.

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

In collation-sensitive data — Hebrew and Ancient Greek scholarship, some library catalogues — where it prevents an unwanted contraction.

How to remove it

The default pass removes it. If you are working on collation data, clean a copy rather than the source.

Is it an AI watermark?

Used to hide data — not a watermark

No. A collation control from the specialist end of Unicode. It appears in prose only by accident or by design.

A known carrier for deliberately hidden payloads. Someone put it there on purpose, which is a different question from who wrote the words.

Questions

Why can I not delete it with backspace?

Editors treat a combining mark as part of the preceding grapheme cluster, so backspace often deletes the letter and the mark together — or refuses to split them at all.

Does removing it change sorting?

Only in data that deliberately used it to force a collation order. Ordinary prose sorts identically with or without it.

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