Tools

Unicode Inspector

See every character, code point and hidden symbol

How to inspect Unicode characters

  1. Paste any text: a suspicious link or email, a string that breaks your code, a username that looks wrong, or text copied from a PDF.
  2. Every character is listed with its code point (U+…), type, script, UTF-8 bytes and escape codes for code and HTML.
  3. Warnings highlight invisible characters, unusual spaces, words mixing alphabets such as Latin and Cyrillic, decomposed accents and text-direction overrides.
  4. Press Normalise and clean to convert to the standard NFC form, remove zero-width characters and replace exotic spaces with normal ones. The cleaned text is copied to your clipboard.

Why characters that look the same are not

Unicode contains about 150,000 characters, and many look identical. The Cyrillic "а" and the Latin "a" are different characters, so "pаypal.com" written with a Cyrillic letter is a different domain: a common phishing trick called a homoglyph attack. Invisible characters such as the zero-width space can break passwords, URLs, spreadsheet lookups and code, and "é" can be stored as one character or as "e" plus a combining accent, which makes visually identical strings fail to match.

The "visible characters" count uses grapheme clusters, what a reader would call one character, so 👍🏽 counts as one even though it is two code points and eight UTF-8 bytes. Developers use these numbers to understand length limits, database storage and why "👍🏽".length is 4 in JavaScript.

Analysis happens entirely in your browser using built-in Unicode data.

How do I find hidden characters in text?

Paste it here. Invisible characters are flagged in the warnings and shaded in the table with their names and code points.

What is Unicode normalisation?

Converting text to a standard form so that equivalent sequences, such as é as one character or e plus an accent, are stored identically. NFC is the form recommended for the web.

Why does my emoji count as several characters?

Many emoji are built from several code points, such as a base emoji plus a skin-tone modifier or joiner. They display as one character but take more storage.