'Hidden characters' and 'zero-width' text refer to Unicode code points that render with no visible mark and, in the true zero-width case, no width at all. They're related to but different from the visible-width blank the invisible text generator produces.
This guide covers the main hidden characters, what they're for, and why they're heavily filtered.
The main hidden characters
Zero-width space (U+200B), zero-width non-joiner (U+200C), zero-width joiner (U+200D), and the word joiner (U+2060). They have legitimate typographic jobs — controlling where words can break, joining emoji sequences — but pasted into a name or message they're invisible and take no space.
Zero-width vs visible blank
A zero-width character has literally no width; a visible blank like Braille Pattern Blank (U+2800) has the width of a space but no mark. The visible blank survives copy-paste in more places because apps that strip 'nothing' characters don't classify it as one. See what invisible text is and blank text to copy and paste.
Why they're filtered
Zero-width characters can pad text to dodge length checks, hide watermarks in copied text, or split words to evade keyword filters. Because of that, platforms like Discord, and many chat and forum systems, actively detect and strip them. A name made only of zero-width characters is usually rejected outright.
When you'd actually want one
Rarely, for their real purpose: forcing or preventing a line break in a long string, or keeping an emoji sequence together. For blank-looking spacing in a bio or caption, the visible-width blank is the better tool because it isn't filtered as aggressively.