Skip to main content

Unicode Inspector

Paste text to see every character's Unicode codepoint, name, and category. Detect hidden and invisible characters instantly.

🔒 Your data never leaves your browser
Text to Inspect

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.

Buy me a coffee
Daily Practice
0/0