Invisible Character

Copy a hidden Unicode character and check exactly what is in your text.

Between markers A​B 1 × U+200B · 1 UTF-16 unit

0 code points · 0 recognized invisible
No code points to inspect.

How to use an invisible character

  1. Choose the Unicode character that matches your task.
  2. Set how many copies you need, then use the small copy button.
  3. Paste text into the tester to see every code point. Recognized hidden characters are labelled by name.
  4. Test the result in its final app because invisible-character handling varies.

They are not interchangeable

Zero-width controls
U+200B, U+200C, U+200D and U+2060 have line-breaking or text-shaping behavior even though they add no visible width.
Blank-looking characters
No-break space and braille blank occupy width. Braille blank is a symbol, not ordinary whitespace.
App compatibility
Editors, social networks and messaging apps may normalize, remove or reject hidden characters. Test the final destination.

Choose by behavior, not appearance

Zero width space — U+200B
Provides a potential line-break opportunity without visible width. It is not a reliable blank message and may be stripped during normalization.
Word joiner — U+2060
Discourages a line break at its position without adding visible width. It replaced the older use of zero width no-break space for this purpose.
Zero width non-joiner — U+200C
Prevents joining behavior in writing systems where neighboring letters normally shape together. It can change spelling or readability if inserted carelessly.
Zero width joiner — U+200D
Encourages supported characters to form a joined sequence, including many emoji combinations. By itself it may have no useful visible effect.
No-break space — U+00A0
Looks like a normal space but keeps adjacent content together on one line. It occupies width and can affect search, wrapping and copy-and-paste behavior.
Braille blank — U+2800
Occupies visible width as a braille symbol with no raised dots. It is not whitespace even when it looks empty.

Use the hidden-character tester

Paste suspicious text into the tester to list its Unicode code points in order. The six catalogued characters are labelled with names; ordinary letters, punctuation and other code points remain identified by number. This makes an invisible character detectable without relying on its visual width.

The tester reports code points rather than grapheme characters. A joined emoji can therefore contain several entries, including a zero width joiner. That does not automatically mean the text is harmful—the control may be required for the intended emoji or script shaping.

Compatibility and normalization

A receiving app may strip default-ignorable controls, convert a no-break space to an ordinary space, limit repeated characters or display a missing-glyph box. Search engines, screen readers, databases and form validators can also interpret the sequence differently. Test the exact destination and keep a readable fallback.

Accessibility and responsible use

Hidden characters can confuse cursor movement, text selection, pronunciation, search and moderation. Do not use them to conceal links, impersonate identifiers, evade filters or make essential information inaccessible. In multilingual text, U+200C and U+200D may carry legitimate linguistic meaning and should not be removed blindly.

Copying several characters

The Copies control generates a bounded sequence of the selected code point. More copies are not necessarily more compatible: many systems collapse or reject unusual runs. Use the smallest sequence that serves a documented purpose.

Privacy and limits

Generation and inspection happen only in this browser; the tool does not upload or save entered text. The generator is limited to 1,000 copies and the tester to 10,000 entered characters. The catalog is intentionally small and is not a complete Unicode security scanner.

Common questions

Why did the character disappear after pasting?

The receiving app may remove formatting controls or normalize whitespace. Try a different listed character only when its documented behavior fits your task.

Is braille blank a space?

No. U+2800 is a braille pattern with no raised dots. It often looks blank, but software can treat it as a visible symbol.

Why does an emoji contain a zero width joiner?

Many emoji sequences use U+200D to request a combined presentation. Its presence can be correct and should be judged in context.

Can this find every invisible Unicode character?

No. It lists every code point but labels only the six characters in this tool's catalog. Use a specialist Unicode security review for confusable identifiers or untrusted data.

Will an invisible character create a blank username?

Not reliably. Services may forbid, normalize or remove it, and using hidden text to bypass a service's rules is inappropriate.