Unicode Character Property Inspector

Paste any text to see per-character Unicode properties: codepoint, UTF-8, UTF-16, category, block, and bidirectional class.

Last reviewed: June 2026

New to this tool? Click here for instructions

Glyph Codepoint Decimal Name UTF-8 UTF-16 Category Block Bidi
Paste text above to inspect its Unicode properties.

How to Use the Unicode Property Inspector

Paste text into Inspect mode to see one row per Unicode codepoint. Each row shows the glyph, codepoint, decimal value, approximate name, UTF-8 bytes, UTF-16 units, general category, block, and bidirectional class.

  1. Use Inspect for per-codepoint diagnostics.
  2. Use Compare to find lookalike or normalized-string differences.
  3. Use Encode to convert one character into HTML, JavaScript, Python, and CSS escape forms.

When to Use the Tool in Real Workflows

Use it to debug invisible characters, homoglyphs, bidirectional marks, broken copy/paste text, emoji surrogate pairs, mixed-script identifiers, and strings that fail validation even though they look correct on screen.

How It Works

The inspector runs in local JavaScript. It walks the string with codePointAt(), calculates UTF-8 and UTF-16 byte forms, and maps common ranges to approximate Unicode blocks and categories. The lookup table is intentionally lightweight, so unusual codepoints may show a generic name while still displaying the correct codepoint and byte encodings.

For deeper reference, use the Unicode code charts, Unicode Character Database report, MDN codePointAt(), and MDN TextEncoder.

Tips, Edge Cases, or Limitations

  • The name, category, block, and bidi columns are best-effort for common ranges; use the official Unicode database for exhaustive properties.
  • Emoji sequences may appear as multiple codepoint rows even when they render as one visible grapheme.
  • Zero-width and bidirectional controls are real codepoints even when the glyph cell looks blank.
  • Mixed-script text is supported, but script-security decisions should be verified with a dedicated spoofing or confusables tool.

Frequently Asked Questions

A Unicode general category classifies every codepoint into one of 30 categories, such as Letter, Mark, Number, Punctuation, Symbol, Separator, and Other.
A surrogate pair in UTF-16 is a pair of 16-bit code units used to represent a single Unicode codepoint outside the Basic Multilingual Plane.
The bidirectional class defines how characters are rendered when left-to-right and right-to-left text appear in the same paragraph, affecting the display order of characters.
Many emoji are a single Unicode codepoint but two UTF-16 code units because they live outside the Basic Multilingual Plane. Other emoji are multi-codepoint grapheme clusters joined by modifiers or zero-width joiners.
A codepoint is a Unicode scalar value such as U+03C0. A grapheme cluster is one user-perceived character and can contain one codepoint, a base letter plus combining marks, or a multi-codepoint emoji sequence.

Example walk-through

Find an invisible zero-width character

Step 1. Click Try Example in Inspect mode.

Step 2. The sample includes a no-break space, a zero-width space, Greek pi, and an emoji.

Step 3. Look for rows such as U+00A0 and U+200B. These characters can affect validation while being hard to see in normal text.

U+00A0  NO-BREAK SPACE
U+200B  ZERO WIDTH SPACE
U+03C0  GREEK SMALL LETTER PI
U+1F600 GRINNING FACE

Step 4. Use Copy Table or Download CSV when you need to share the evidence in a bug report.