Skip to content

Text Tools

Unicode Character Inspector

Break any text into its Unicode characters with U+ code points, UTF-8/UTF-16 encodings, and flags for invisible or confusable characters.

Inspection runs locally using the browser’s grapheme segmentation — nothing is uploaded.

The Invisible Characters That Break Everything

String comparison bugs rarely look like encoding bugs. A user id copied from a PDF that contains a U+00A0 non-breaking space instead of a regular space fails an exact-match check; a zero-width space (U+200B) riding in from a chat message makes two "identical" tokens differ; a Cyrillic а visually replaces a Latin a in a spoofed link. None of these are visible in any ordinary editor.

This inspector lists every grapheme with its code point and flags invisible ones, which turns a afternoon of printf debugging into a ten-second lookup — paste the string, find the flagged row, fix or normalize.

How the Transformation Works

  1. Paste text that contains characters you cannot identify — symbols, zero-width spaces, typographic quotes.
  2. The inspector splits the text into grapheme-level characters, correctly handling emoji and combining marks.
  3. Each character is listed with its U+ code point, UTF-8 byte sequence, and UTF-16 units.
  4. Invisible characters (zero-width spaces, BOM) are flagged so you can find hidden formatting problems.
Formula & Technical Standard
Uses Intl.Segmenter for grapheme clustering and TextEncoder for UTF-8 byte sequences.

Example Input & Output

Find an invisible character
Input: A string that "looks" identical in two places
Output: U+200B ZERO WIDTH SPACE flagged
Zero-width characters cause mysterious string-comparison failures; the inspector makes them visible.
Identify a symbol
Input: µ
Output: U+00B5 MICRO SIGN — UTF-8: 0xC2 0xB5
Distinguishes the micro sign from the Greek letter mu (U+03BC), which look identical but are different code points.

Common Questions

Why does one emoji produce multiple entries?

Emoji composed of several code points (skin tones, flags, ZWJ sequences) are shown as their constituent parts plus the joined grapheme, which is how they are actually stored.

What is the U+ notation?

The standard way to reference a Unicode character: U+ followed by the hexadecimal code point, e.g. U+00E1 for á.