Unicode Inspector
Paste text to see every character's Unicode codepoint, name, and category. Detect hidden and invisible characters instantly.
What is Unicode & How Does Encoding Work?
Unicode is the international computing standard for character encoding, defining a consistent encoding, representation, and handling of text across modern digital software. Each character or symbol is mapped to a unique integer called a code point (e.g., Latin letter 'A' is U+0041, while emoji '🔥' is U+1F525). Unicode spans over 149,000 characters across 161 modern and historical scripts, control symbols, and formatting tokens.
Common Hidden Characters & Debugging Impact
Several Unicode characters are completely invisible to human eyes in IDEs and browser textareas, yet fundamentally alter how string parsers and runtimes behave:
U+200B
Zero Width Space
Invisible word-break marker. Silently breaks database queries, regex searches, and variable tokens.
U+200C
Zero Width Non-Joiner
Prevents automatic ligature formation. Completely invisible in Latin text but changes byte length.
U+FEFF
Byte Order Mark (BOM)
Indicates text endianness. When prepended to JSON files, it causes standard JSON.parse() exceptions.
U+00A0
No-Break Space (NBSP)
Renders identically to an ASCII space (0x20) but fails string equality (str === " ").
U+202E
Right-to-Left Override
Flips visual text direction. Exploited in spoofing file extensions (e.g., evilcodetxt.exe).
U+201C/1D
Smart / Curly Quotes
Injected by word processors and LLMs. Causes syntax errors in Python, Bash, and SQL queries.
Security Implications: Trojan Source & Homoglyphs
In 2021, Cambridge researchers disclosed Trojan Source (CVE-2021-42574), demonstrating how bidirectional Unicode override characters (such as U+202E and U+2066) can visually reorder source code tokens. Code appears harmless in code reviews while executing malicious branches at runtime.
Similarly, homoglyph attacks replace Latin characters with identical-looking Cyrillic or Greek symbols (e.g., Cyrillic 'а' U+0430 vs Latin 'a' U+0061) in domain names or variable identifiers, tricking users and bypassing sanitization filters.
Frequently Asked Questions
What is a Unicode code point? +
A Unicode code point is a unique number assigned to each character in the Unicode standard. It is typically written as U+XXXX where XXXX is the hexadecimal value. For example, the letter A is U+0041, and the emoji heart is U+2764.
How do I remove hidden Unicode characters from text? +
Paste your text into this Unicode Inspector to see all characters, including invisible ones (highlighted in red). Then copy the text and manually remove the problematic characters, or use our AI Text Cleaner tool to automatically strip them.
Why does my code have invisible characters? +
Invisible characters often enter code through copy-pasting from web pages, AI-generated content, or word processors. Common culprits include zero-width spaces (U+200B), no-break spaces (U+00A0), and smart quotes (U+201C/U+201D). Use this tool to identify them.
Is this tool safe for sensitive text? +
Yes. All processing happens entirely in your browser using client-side JavaScript. Your text is never sent to any server, making this tool safe for sensitive content like API keys, passwords, or confidential documents.