Unicode Character Inspector

Inspect code points, Unicode names, scripts, categories, UTF-8 bytes, escapes and normalization details for every character.

Your text is processed in this browser and is not submitted to UnicodeNow.

Processed locally in your browser

Primary flow: character → code point → Unicode name → category → script → encoding → normalization context.

Display options

Normalization is diagnostic here. It compares code-point sequences without replacing the input.

The built-in example is cafe\u0301\u00A0👨‍👩‍👧‍👦.

Inspection summary

Enter text to inspect its Unicode characters.

Normalization comparison

Original sequence

Compared sequence

Choose a comparison form to inspect sequence-level normalization changes.

Character table

Unicode character inspection results
Position Character Code point Unicode name Category Script UTF-8 bytes UTF-16 units Escape HTML entity Properties Actions

No rows to show yet.

What this tool inspects

The Unicode Character Inspector shows each Unicode code point in your input, including the displayed character or token, code point, Unicode name, general category, script, block, UTF-8 bytes, UTF-16 units, JavaScript and Python escapes, HTML numeric entities, normalization details and grapheme-cluster relationships.

Code points versus characters

A visible character is not always one code point. The letter é may be a single composed code point or the sequence e plus a combining acute mark. Emoji can use zero-width joiners, skin-tone modifiers or regional indicators. The table keeps every code point inspectable instead of hiding these details.

UTF-8 versus UTF-16

UTF-8 stores Unicode code points as one to four bytes. JavaScript strings use UTF-16 code units, so supplementary-plane characters such as many emoji occupy two UTF-16 units even though they are one code point. This is why byte length, JavaScript string length and user-perceived character count may differ.

Grapheme clusters

Grapheme clusters approximate user-perceived characters and may contain multiple code points. This tool uses the browser's Intl.Segmenter when available. Browser segmentation follows the local implementation and should be treated as a practical diagnostic, not a promise that every environment segments identically.

Unicode normalization

Normalization is shown as a diagnostic comparison. NFC, NFD, NFKC and NFKD can change code-point sequences, but the inspector does not replace your input. For e\u0301, NFC compares the original sequence U+0065 U+0301 with U+00E9. Compatibility forms can be useful for selected matching and search workflows, but may lose formatting distinctions.

Invisible and formatting characters

Spaces, non-breaking spaces, zero-width characters, controls, joiners, variation selectors and bidi controls may not be visually obvious. The inspector labels them with tokens such as ⟦NBSP⟧, ⟦ZWJ⟧ or ⟦RLO⟧ while preserving the real input and report values.

Example

The example cafe\u0301\u00A0👨‍👩‍👧‍👦 contains decomposed accented text, a no-break space, supplementary-plane emoji and zero-width joiners. It demonstrates code points versus grapheme clusters, invisible tokens, UTF-8 bytes, UTF-16 surrogate pairs and normalization analysis.

Common use cases

Technical details

Inspection runs locally in JavaScript using Unicode-aware code-point iteration, TextEncoder, UTF-16 code-unit inspection, String.prototype.normalize(), browser grapheme segmentation when available, and compact local Unicode metadata. No input is sent to a metadata API.

Privacy

Your text remains in this browser. It is not uploaded, stored, inserted into URLs or sent through analytics.

FAQ

What is a Unicode code point?

A Unicode code point is a numeric value assigned by Unicode, usually written as U+ followed by hexadecimal digits.

What is the difference between a code point and a character?

A visible character can be one code point or a sequence of code points, such as a base letter plus a combining mark or an emoji sequence.

Why does JavaScript count some characters as two?

JavaScript strings use UTF-16 code units. Supplementary-plane code points such as many emoji use two UTF-16 code units.

What is a grapheme cluster?

A grapheme cluster approximates one user-perceived character and may contain several Unicode code points.

Why can é use one or two code points?

It can be stored as U+00E9 or as U+0065 followed by U+0301 COMBINING ACUTE ACCENT; normalization can compare these sequences.

What is the difference between UTF-8 and UTF-16?

UTF-8 stores code points as one to four bytes. UTF-16 stores them as one or two 16-bit code units.

What are Unicode general categories?

General categories classify code points, such as uppercase letters, lowercase letters, marks, spaces, controls and symbols.

What is a Unicode script?

A script groups characters used by a writing system, such as Latin, Cyrillic, Arabic or Han. Common punctuation and emoji often use Common or Inherited.

What do NFC, NFD, NFKC and NFKD mean?

They are Unicode normalization forms. NFC and NFD are canonical forms; NFKC and NFKD also apply compatibility mappings.

Why are some characters invisible?

Some code points represent spacing, controls, joining behavior, variation selection or direction rather than a visible glyph.

Are zero-width characters always harmful?

No. They can be accidental or suspicious in some contexts, but ZWJ and ZWNJ are legitimate in emoji and writing systems.

Can the inspector analyze emoji sequences?

Yes. It shows each code point and, when the browser supports Intl.Segmenter, the grapheme cluster that groups the sequence.

Is my text uploaded or stored?

No. Inspection runs in this browser. Input is not uploaded, stored, placed in URLs or sent through analytics.

Related tools

Unicode Character Lookup

Search Unicode characters by glyph, code point, name, script or block.

UnicodeServer tool

Unicode Sequence Analyzer

Analyze code points, grapheme clusters, bytes, scripts and directionality.

UnicodeProcessed locally

Unicode Normalizer

Normalize Unicode text to NFC, NFD, NFKC or NFKD.

NormalizationProcessed locally

Related guides

What Is Unicode?

Unicode is the international standard used to represent text consistently across computers, phones, websites, programming languages and operating systems.