Tools Home|100% Client-Side

Unicode Character Inspector, Codepoint & Zero-Width Detector

Inspect Unicode strings down to code points (U+XXXX), detect hidden zero-width spaces/bidi overrides, view UTF-8/UTF-16 byte sequences, and analyze grapheme clusters.

Unicode Standard 16.0 Ready
Warning: Hidden zero-width or non-printable characters detected in text! (3 invisible characters detected)
Code Points17
Grapheme Clusters16
UTF-8 Bytes23 B
Invisible / Zero-Width3
17 JS string code units
Detailed Character & Byte Sequence BreakdownShowing 17 items
#GlyphCodepointUnicode Block / NameCategoryUTF-8 HexUTF-16 Hex
1sU+0073Basic Latin (ASCII)Letter / Number730073
2eU+0065Basic Latin (ASCII)Letter / Number650065
3cU+0063Basic Latin (ASCII)Letter / Number630063
4uU+0075Basic Latin (ASCII)Letter / Number750075
5rU+0072Basic Latin (ASCII)Letter / Number720072
6eU+0065Basic Latin (ASCII)Letter / Number650065
7INVU+200BZero-Width Space (ZWSP)FormatE2 80 8B200B
8uU+0075Basic Latin (ASCII)Letter / Number750075
9sU+0073Basic Latin (ASCII)Letter / Number730073
10eU+0065Basic Latin (ASCII)Letter / Number650065
11rU+0072Basic Latin (ASCII)Letter / Number720072
12INVU+200CZero-Width Non-Joiner (ZWNJ)FormatE2 80 8C200C
13nU+006EBasic Latin (ASCII)Letter / Number6E006E
14aU+0061Basic Latin (ASCII)Letter / Number610061
15mU+006DBasic Latin (ASCII)Letter / Number6D006D
16eU+0065Basic Latin (ASCII)Letter / Number650065
17INVU+FEFFZero-Width No-Break Space (BOM)FormatEF BB BFFEFF

Private Local Inspection

Your sensitive tokens, database fields, and credentials are decomposed purely within client JavaScript memory. Zero external transmissions.

Zero-Width & Security Auditing

Instantly spots invisible characters (ZWSP, ZWNJ, BOM) often used in homograph attacks, copy-paste syntax tampering, and hidden watermarks.

Byte-Level Serialization

Displays variable-length UTF-8 encodings (1 to 4 bytes) alongside UTF-16 surrogate pairs for diagnosing encoding corruptions.

Technical Reference & Architecture Guide

Unicode Character, Codepoint & Zero-Width Technical Guide — Reference Guide

Technical guide to Unicode planes, surrogate pairs, grapheme clusters, zero-width joiners (ZWJ), and UTF-8/UTF-16 encoding schemes.

Key Parameters & Controls

textstring

Arbitrary text sequence containing Unicode glyphs, symbols, or emojis.

codepointFormatenum ('U+XXXX' | 'Decimal')

Format of the numerical scalar value representing the Unicode character.

detectInvisibleboolean

Flag zero-width spaces (ZWSP), joiners (ZWJ), non-joiners (ZWNJ), and bidi overrides.

byteEncodingenum ('UTF-8' | 'UTF-16')

Target byte serialization standard.

Pro Tips & Best Practices

Modern emojis (e.g. 👨‍👩‍👧‍👦) are composed of multiple code points joined together with Zero-Width Joiners (U+200D).

Always test strings for hidden zero-width characters (U+200B, U+FEFF) when validating usernames or passwords.

Use Intl.Segmenter in modern JavaScript to count perceived user characters (grapheme clusters) rather than raw string.length.

Common Gotchas & Troubleshooting

Characters above U+FFFF are encoded as two UTF-16 code units (surrogate pairs). Use Array.from(str) or Intl.Segmenter.

Look for zero-width spaces or non-breaking spaces (U+00A0) that mimic regular ASCII spaces.

Frequently Asked Questions

What is a codepoint?▼

A unique numerical index assigned to every character in the Unicode standard, written as U+XXXX.

What is the difference between length and grapheme clusters?▼

length counts UTF-16 code units, while grapheme clusters represent visually distinct characters perceived by users.

What are zero-width characters?▼

Characters like U+200B (Zero-Width Space) or U+200D (ZWJ) that occupy zero horizontal pixels on screen.

Is text data sent to an analysis server?▼

No. The entire Unicode inspection and byte decomposition run client-side in your browser.

Related Tools & Utilities

All Tools →