Unicode Character Inspector
See what a piece of text contains, including the characters you cannot see. The original text stays unchanged.
Inspect your text
Character report
15 code points · 8 grapheme clusters · 19 UTF-16 units
Encoding and positions for every code point.
Code points
Positions start at 1; UTF-16 offsets start at 0. A dot represents a control, separator or blank-looking character.
- CU+0043#1 · Letter
Latin capital letter C
Offset 0 · \u0043 · UTF-8 43
- aU+0061#2 · Letter
Latin small letter A
Offset 1 · \u0061 · UTF-8 61
- fU+0066#3 · Letter
Latin small letter F
Offset 2 · \u0066 · UTF-8 66
- éU+00E9#4 · Letter
Name not included in this compact inspector
Offset 3 · \u00E9 · UTF-8 C3 A9
- ·U+0020#5 · Separator
Space
Offset 4 · \u0020 · UTF-8 20
- eU+0065#6 · Letter
Latin small letter E
Offset 5 · \u0065 · UTF-8 65
- ́U+0301#7 · Mark
Name not included in this compact inspector
Offset 6 · \u0301 · UTF-8 CC 81
- ·U+0020#8 · Separator
Space
Offset 7 · \u0020 · UTF-8 20
- 👨U+1F468#9 · Symbol
Name not included in this compact inspector
Offset 8 · \u{1F468} · UTF-8 F0 9F 91 A8
- ·U+200D#10 · Format
Zero-width joiner
Offset 10 · \u200D · UTF-8 E2 80 8D
- 👩U+1F469#11 · Symbol
Name not included in this compact inspector
Offset 11 · \u{1F469} · UTF-8 F0 9F 91 A9
- ·U+200D#12 · Format
Zero-width joiner
Offset 13 · \u200D · UTF-8 E2 80 8D
- 👧U+1F467#13 · Symbol
Name not included in this compact inspector
Offset 14 · \u{1F467} · UTF-8 F0 9F 91 A7
- ·U+200D#14 · Format
Zero-width joiner
Offset 16 · \u200D · UTF-8 E2 80 8D
- 👦U+1F466#15 · Symbol
Name not included in this compact inspector
Offset 17 · \u{1F466} · UTF-8 F0 9F 91 A6
The copied report always includes every code point in the input.
What is a Unicode Character Inspector?
A Unicode Character Inspector reveals the code points that make up pasted text. It helps explain why an emoji counts as several units, why two similar-looking strings differ, or where an invisible formatting character appears. The report includes UTF-16 offsets, escaped forms, broad categories and UTF-8 bytes.
For example, é and é can look alike while using different sequences. A joined family emoji also contains more than one code point. The inspector preserves the exact input; it does not normalize accents, repair invalid surrogates or remove characters.
How to inspect Unicode characters
Paste the text
Replace the example in Text to inspect with the string you want to check. The input accepts up to 2,000 UTF-16 units; an oversized edit keeps the previous text rather than truncating it.
Read the report
Compare the code point, grapheme-cluster and UTF-16 totals. Read the rows for character values, offsets and bytes. Use Show next 80 code points when a longer report has more rows.
Copy your findings
Use Copy character report to copy the complete report, including rows not yet displayed. Use Clear input to inspect another string. Cleanup is available in the separate remover.
One visible character can contain several code points
A family emoji can contain several people joined with U+200D. An accented letter can be one precomposed character or a letter followed by a combining mark. Grapheme clusters describe user-perceived character boundaries; UTF-16 units are the units used by JavaScript strings.
Read the character report
Each row shows a code point, its position, a broad Unicode category, an escaped representation and UTF-8 bytes. Common controls and Latin letters have names; this compact inspector does not include the complete Unicode name database. An isolated surrogate is reported as invalid rather than silently repaired.
Inspect first, change deliberately
Formatting characters can affect line breaks, script shaping and reading direction. Inspecting does not remove them. Use the separate remover if you want to choose a specific kind of change and compare the result.
Frequently asked questions
Why do the three character counts disagree?
A code point is one Unicode value, a grapheme cluster groups characters as users perceive them, and UTF-16 units measure the storage units used by JavaScript strings. Joined emoji and combining accents can produce different totals.
Why does a character have no full Unicode name?
This compact inspector includes names for common controls and Latin characters, not the complete Unicode name database. An unnamed row still exposes its code point and encoding information.
Does inspecting text remove hidden characters?
No. Inspection is read-only. The input and its character sequence remain unchanged. Use Invisible Character Remover if you want to choose and preview a specific cleanup operation.
Does Copy character report include rows I have not opened?
Yes. Pagination limits the number of visible rows, not the copied report. The report includes every code point within the accepted input.
Is this a complete security or spoofing check?
No. Showing code points can help explain a string, but the inspector does not establish that a username, URL or document is safe. It is not a complete Unicode name database or security scanner.
Keep exploring
Inspect Unicode characters, selectively remove invisible text, restore supported fancy letters, or copy exact blank characters with free browser-based tools.
Invisible Character RemoverDetect and selectively remove invisible characters or replace special spaces. Compare before and after while preserving emoji joiners and accents by default.
Invisible Character Copy and PasteCopy a chosen invisible or blank character, repeat it up to 100 times and inspect pasted text for supported blank characters. See exact Unicode code points.
Fancy Text to Normal TextRestore supported mathematical letter styles, fullwidth text, enclosed characters and super/subscripts to ordinary text, with optional small-cap and overlay handling.