LogoSymbolDb
Zero Width Space
U+200B
Zero Width Joiner
U+200D
Zero Width Non-Joiner
U+200C
Left-to-Right Mark
U+200E
Right-to-Left Mark
U+200F
Zero Width No-Break Space/BOM
U+FEFF
Space
U+0020
 
No-Break Space
U+00A0
 
En Quad
U+2000
Em Quad
U+2001
En Space
U+2002
Em Space
U+2003
Three-Per-Em Space
U+2004
Four-Per-Em Space
U+2005
Six-Per-Em Space
U+2006
Figure Space
U+2007
Punctuation Space
U+2008
Thin Space
U+2009
Hair Space
U+200A
Narrow No-Break Space
U+202F
Medium Mathematical Space
U+205F
 
Ideographic Space
U+3000
Tab
U+0009
Line Feed (LF)
U+000A
Carriage Return (CR)
U+000D

🔍 About Invisible Characters

Includes 25 invisible characters (zero-width characters, special spaces, control characters), providing Unicode, HTML entities and detailed usage instructions

Invisible characters are Unicode characters that are not visible or difficult to perceive in text, including zero-width characters, various special spaces, control characters, etc. Although they don't display any visible graphics, they have significant impact on text processing, data validation, social media posting, programming debugging, and other scenarios. For example, Zero Width Joiner (ZWJ) is used to control the display of emojis; Zero Width Space can add invisible separators between words; No-Break Space prevents automatic line wrapping. This page collects the most common invisible characters, providing complete technical parameters and detailed explanations for each symbol to help you identify, understand, and use these "invisible" characters.

🔄 Zero-Width Character Series

​ (Zero Width Space) is called Zero Width Space (ZWSP), with Unicode U+200B, HTML entity ​, URL encoding %E2%80%8B, Java/JavaScript representation "\u200B". Zero Width Space is an invisible character that takes up no display width, commonly used to add invisible separators between words. For example, it can be used in programming to bypass certain input validations, or to create invisible content on social media. Note: This character is typically invisible in text editors but may cause confusion during code review.

‍ (Zero Width Joiner) is called Zero Width Joiner (ZWJ), with Unicode U+200D, HTML entity ‍, URL encoding %E2%80%8D, Java representation "\u200D". ZWJ is a very powerful symbol used to connect two emojis or characters, making them display as a combined emoji. The most famous example is 👨‍👩‍👧‍👦 (family emoji), which consists of multiple emojis connected by ZWJ. Note: Whether the combined display is supported depends on the operating system and font; if not supported, they may display as multiple separate emojis.

‌ (Zero Width Non-Joiner) is called Zero Width Non-Joiner (ZWNJ), with Unicode U+200C, HTML entity ‌, URL encoding %E2%80%8C, Java representation "\u200C". ZWNJ works opposite to ZWJ — it prevents characters that would normally connect from doing so. It is particularly important in writing systems like Persian and Arabic, used to control character joining behavior. Note: Rarely used in ordinary text, but essential in certain typographic scenarios.

‎ (Left-to-Right Mark) is called Left-to-Right Mark (LRM), with Unicode U+200E, HTML entity ‎, URL encoding %E2%80%8E. This invisible character affects text directionality, forcing subsequent text to be arranged from left to right. Commonly used in typesetting mixed-direction text (such as Arabic and English mixed together). Note: It produces no visible characters, only affecting text layout direction.

‏ (Right-to-Left Mark) is called Right-to-Left Mark (RLM), with Unicode U+200F, HTML entity ‏, URL encoding %E2%80%8F. Opposite to LRM, this character forces subsequent text to arrange from right to left, used for right-to-left writing systems like Arabic and Hebrew.

␣ Special Space Series

(Space) is called Space, with Unicode U+0020, HTML entity   or direct space character, URL encoding %20. This is the most common space character, used to separate words in English sentences. LaTeX command is \ (backslash followed by space). Note: Multiple consecutive ordinary spaces in HTML are merged into one by browsers; to preserve multiple spaces, use  .

  (No-Break Space) is called No-Break Space (NBSP), with Unicode U+00A0, HTML entity   or  , URL encoding %C2%A0, LaTeX command ~. The unique feature of No-Break Space is that it prevents line wrapping on either side. Commonly used between numbers and units (e.g., "10 km"), between names and titles, and in other scenarios where keeping text on the same line is desired. Note: It is not merged in HTML and can be used multiple times to add consecutive spaces.

  (En Quad) is called En Quad, with Unicode U+2000, HTML entity  . En Quad is a whitespace character with width of 1 en (en is the width of the letter "n" in the font). Commonly used for alignment and fine-tuning spacing in typography. Note: Unlike ordinary spaces, its width is fixed and font-dependent.

  (Em Quad) is called Em Quad, with Unicode U+2001, HTML entity  . Em Quad has a width of 1 em (em is the width of the letter "M" in the font), approximately equal to the current font size. Often used to create larger blank spacing.

  (En Space) is called En Space, with Unicode U+2002, HTML entity  . Width is twice that of an ordinary space (half an em), commonly used for number grouping or special typographic indentation.

  (Em Space) is called Em Space, with Unicode U+2003, HTML entity  . Width equals the current font size, one of the most common fixed-width spaces, often used for paragraph indentation or table alignment.

  (Three-Per-Em Space) is called Three-Per-Em Space, with Unicode U+2004, HTML entity  . Width is 1/3 of an Em Space, used for fine-tuning in precision typography.

  (Four-Per-Em Space) is called Four-Per-Em Space, with Unicode U+2005, HTML entity  . Width is 1/4 of an Em Space, commonly used for thin spacing in mathematical formulas or Chinese typography.

  (Six-Per-Em Space) is called Six-Per-Em Space, with Unicode U+2006, HTML entity  . Width is 1/6 of an Em Space, a very fine spacing character.

  (Narrow No-Break Space) is called Narrow No-Break Space (NNBSP), with Unicode U+202F, HTML entity  . This character combines narrow width with non-breaking properties, commonly used for spaces before colons in French, number grouping in Russian, and similar scenarios. Note: It is narrower than regular NBSP but similarly prevents line breaks.

  (Medium Mathematical Space) is called Medium Mathematical Space, with Unicode U+205F, HTML entity  . Specifically designed for spacing control in mathematical typography, width is 4/18 em.

  (Ideographic Space) is called Ideographic Space, with Unicode U+3000, HTML entity  . Width equals one Chinese character, used for ideographic writing systems like Chinese, Japanese, and Korean, equivalent to a full-width space.

🖨️ Control Character Series

→ (Tab) is called Tab (TABULATION), with Unicode U+0009, HTML entity 	, URL encoding %09. The tab character is used to create aligned columns in text, commonly used for code indentation in programming or plain text tables. Note: Different editors may display tab widths differently (typically 4 or 8 spaces).

↵ (Line Feed) is called Line Feed (LF), with Unicode U+000A, HTML entity 
, URL encoding %0A. Represents line breaks in Unix/Linux/macOS systems. Note: Windows systems use CR+LF (Carriage Return + Line Feed) as line break, which is a common source of cross-platform text processing issues.

␍ (Carriage Return) is called Carriage Return (CR), with Unicode U+000D, HTML entity 
, URL encoding %0D. In Windows systems, it is used together with Line Feed (CR+LF). Note: Standalone CR was used for line breaks in Mac OS 9 and earlier versions.

📌 Important Notes for Using Invisible Characters

First, zero-width characters are invisible in ordinary text editors, which may lead to unexpected results in code review and text analysis. Second, special spaces (such as EN SPACE, EM SPACE) look identical to ordinary spaces but have different widths, requiring attention in typography. Third, No-Break Space (NBSP) is commonly used in web development to prevent unexpected line breaks between numbers and units. Fourth, combined emojis controlled by Zero Width Joiner (ZWJ) display differently across platforms, requiring compatibility testing. Fifth, control characters (like Tab, Line Feed) may cause formatting issues during cross-platform file transfer; unified line ending formats are recommended. Sixth, during data cleaning or input validation, invisible characters may bypass validation and require special handling. Seventh, when copying invisible characters from this page, click on the card to get the actual character's Unicode encoding and various programming representations.

💡 Usage Tips

Click on any invisible character card to open a detailed information panel, from which you can copy the character (partially invisible), Unicode encoding, HTML entity, URL encoding, Java/JavaScript string representation, as well as generate SVG source code or download a transparent background PNG image. For invisible characters, it's recommended to use viewer tools or directly copy encoding values. If you encounter strange whitespace or invisible issues in programming, web development, or text processing, use this page to reverse-lookup the corresponding characters. If you need to prevent users from bypassing input validation, be sure to check for the zero-width characters mentioned above. For typography and design work, correctly using special spaces can greatly enhance visual effects.

❓ FAQ · Identifying and Handling Invisible Characters

Quickly master methods for detecting, deleting, and common applications of invisible characters

🔍 How to detect invisible characters in text?
① Use professional text editors (like VS Code, Notepad++) and enable "Show all characters" feature. ② Online tools: Copy text to Unicode character detection websites. ③ Programming approach: In Python, use repr(text) or regex re.findall(r'[\u200b-\u200f]', text). ④ Use this page to copy suspicious characters and compare them.
🗑️ How to delete invisible characters?
Regular expressions are the most effective method: text.replace(/[\u200B-\u200D\uFEFF]/g, '') removes zero-width characters; text.replace(/\s/g, '') removes all whitespace (use with caution). Some text editors support find/replace using Unicode code points as search targets.
📱 What are zero-width characters used for?
① Creating combined emojis (like the family emoji 👨‍👩‍👧‍👦). ② Adding "invisible watermarks" to text for copyright protection. ③ Bypassing sensitive word filters on some platforms (not recommended). ④ Creating invisible variable names or special identifiers in programming.
🔧 What's the difference between special spaces and ordinary spaces?
Ordinary space (U+0020) has variable width and merges in HTML; No-Break Space (U+00A0) prevents line breaks; En Space (U+2002) has fixed width twice that of ordinary space; Em Space (U+2003) width equals current font size; Ideographic Space (U+3000) width equals one Chinese character. Choose based on typographic needs.
💻 Why does Windows use CR+LF for line breaks?
Historical reasons: Early teletypewriters required two actions — Carriage Return (CR) to move the print head to the beginning of the line, and Line Feed (LF) to advance the paper upward one line. Windows inherited this tradition, while Unix/Linux uses only LF as line break, leading to cross-platform text format issues.
⚠️ What security risks do invisible characters pose?
① Code injection: Attackers can insert invisible characters into code to bypass review. ② Social engineering: Falsifying domain names or usernames (e.g., inserting zero-width characters into "apple.com" to create "app le.com"). ③ Copyright watermark abuse. ④ Input validation bypass (e.g., using zero-width characters to split keywords in SQL injection). Strict filtering of user input is recommended.
😊

Cute

Symbols used for decoration and embellishment, including stars, flowers, arrows, borders, etc.