TextToolboxTextToolbox
Glossary

Invisible Character

An invisible character is a real Unicode character that takes up space and is treated as a character by software, but renders as completely blank with no visible shape.

What Is Invisible Character?

An invisible character is a Unicode character that exists — it has a code point, it is recognized by software, it can be copied and pasted — but renders as nothing visible. When you place an invisible character in a text field, you see no mark, no space dot, no placeholder. The cursor moves past it, but no glyph appears on screen.

This might sound like a bug, but invisible characters are intentional and serve real purposes in the Unicode standard. They are used for text shaping (telling a rendering engine how to join or separate characters in Arabic or Devanagari scripts), for accessibility annotations, for zero-width line-break control, and for typographic fine-tuning. The fact that they have additional uses for social media tricks is a side effect.

The most commonly used invisible characters for copy-paste purposes are: the Zero Width Space (U+200B), which functions like a space but is not visible and does not cause word wrapping; the Braille Blank (U+2800), which is technically a Braille pattern with no dots and thus renders as blank; and the Hangul Filler (U+3164), an invisible character from the Korean Unicode block that many platforms treat as a visible space.

How Invisible Character Works

Different invisible characters work differently across platforms. The Zero Width Space (U+200B) is a space with zero visible width — it does not create a visual gap but acts as a word boundary for text processing. The Braille Blank (U+2800) is defined as a Braille pattern cell with all 8 dots empty, rendering as a blank cell of Braille-character width. The Hangul Filler (U+3164) is a filler character for the Korean alphabet system, but many platforms treat it as a "legitimate" character that counts as a real character in fields that reject truly blank input.

The key property that makes these characters useful is that they satisfy a "not empty" check while being visually blank. When a form or app requires at least one character in a field, an invisible character passes this check. When a username field requires something typed, an invisible character lets you create a username that appears empty. However, platform behavior varies — some apps strip zero-width characters automatically, while others preserve them.

Examples of Invisible Character

  • U+200B — Zero Width Space: invisible, zero-width, used for word-break control
  • U+2800 — Braille Blank: Braille pattern with no dots, renders as blank, full Braille cell width
  • U+3164 — Hangul Filler: Korean alphabet filler, renders as invisible but is recognized as a real character
  • U+FEFF — Zero Width No-Break Space (BOM): originally a byte order mark, used as an invisible separator
  • U+200C — Zero Width Non-Joiner: prevents character joining in connected scripts like Arabic
  • U+00A0 — Non-Breaking Space: looks like a space but prevents line breaks at that point

Where Is Invisible Character Used?

  • Empty Discord username: Some Discord versions allow an invisible character as a username, creating a "blank" display name
  • Empty Instagram bio lines: Placing invisible characters on blank bio lines creates visual spacing that Instagram's platform typically removes for regular spaces
  • WhatsApp "blank" messages: Some invisible characters can be sent as the entire content of a WhatsApp message, appearing as an empty message
  • Empty game names: Games that require a name entry sometimes allow invisible characters, creating players with no visible name
  • Text formatting: Zero-width spaces can be used to create word-break opportunities in URLs or long strings without visible space
  • Steganography: Invisible characters can be used to embed hidden metadata or messages inside visible text

Try These Free Tools

See Invisible Character in action — free, no sign-up required.

Related Terms

Frequently Asked Questions

How do I copy an invisible character?+

The easiest way is to use the TextToolbox Invisible Character Generator, which provides multiple types of invisible characters as one-click copy buttons. You can also copy them from Unicode character tables. Since invisible characters are, by definition, invisible, you cannot select them visually in most text editors — use Ctrl+A to select all, then copy.

Does an invisible character work in Discord?+

Yes, certain invisible characters work in Discord for creating blank-looking display names and empty messages. The Hangul Filler (U+3164) is commonly used for this purpose. However, Discord occasionally updates its policies and may strip certain invisible characters or reject them in specific fields. Behavior can vary between Discord versions and platforms.

Is using an invisible character allowed on platforms?+

Terms of service vary. Most platforms do not explicitly prohibit invisible characters, but some consider blank or misleading usernames to violate community standards or identity policies. Using invisible characters to impersonate another user or to create deceptive accounts may violate platform rules. Use them for creative or formatting purposes rather than deceptive ones.

Can invisible characters be detected?+

Yes. Invisible characters are visible in hex editors, text analysis tools, and when text is processed programmatically. A developer looking at the raw character codes will see the invisible character immediately. Copy-paste invisible characters can also be detected by plagiarism detection systems that find text matches containing hidden characters that differ between documents.

What is a zero-width space?+

A zero-width space (U+200B) is a Unicode character that acts as a potential line-break point in text without creating a visible space. It is invisible and has no width. Its original purpose is typographic — allowing long words or URLs to break across lines at controlled points without inserting a visible space character. It is also used in some contexts to prevent text from being matched by pattern-matching systems.