Category: Text tools
Unicode Character Inspector
Inspect every character in a string: code point, UTF-8 bytes, category
Paste text and get a row for every character showing its code point, UTF-8 byte sequence, HTML entity and general Unicode category, with full support for characters outside the Basic Multilingual Plane such as emoji. Runs entirely in your browser.
34 characters
| Char | Code point | UTF-8 | HTML entity | Category |
|---|---|---|---|---|
C | U+0043 | 43 | C | Letter |
a | U+0061 | 61 | a | Letter |
f | U+0066 | 66 | f | Letter |
é | U+00E9 | C3 A9 | é | Letter |
| U+0020 | 20 |   | Separator |
c | U+0063 | 63 | c | Letter |
a | U+0061 | 61 | a | Letter |
f | U+0066 | 66 | f | Letter |
é | U+00E9 | C3 A9 | é | Letter |
, | U+002C | 2C | , | Punctuation |
| U+0020 | 20 |   | Separator |
n | U+006E | 6E | n | Letter |
a | U+0061 | 61 | a | Letter |
ï | U+00EF | C3 AF | ï | Letter |
v | U+0076 | 76 | v | Letter |
e | U+0065 | 65 | e | Letter |
| U+0020 | 20 |   | Separator |
— | U+2014 | E2 80 94 | — | Punctuation |
| U+0020 | 20 |   | Separator |
1 | U+0031 | 31 | 1 | Number |
0 | U+0030 | 30 | 0 | Number |
0 | U+0030 | 30 | 0 | Number |
% | U+0025 | 25 | % | Punctuation |
| U+0020 | 20 |   | Separator |
d | U+0064 | 64 | d | Letter |
o | U+006F | 6F | o | Letter |
n | U+006E | 6E | n | Letter |
e | U+0065 | 65 | e | Letter |
. | U+002E | 2E | . | Punctuation |
| U+0020 | 20 |   | Separator |
😀 | U+1F600 | F0 9F 98 80 | 😀 | Symbol |
| U+0020 | 20 |   | Separator |
中 | U+4E2D | E4 B8 AD | 中 | Letter |
文 | U+6587 | E6 96 87 | 文 | Letter |
C U+0043 43 C Letter a U+0061 61 a Letter f U+0066 66 f Letter é U+00E9 C3 A9 é Letter U+0020 20   Separator c U+0063 63 c Letter a U+0061 61 a Letter f U+0066 66 f Letter é U+00E9 C3 A9 é Letter , U+002C 2C , Punctuation U+0020 20   Separator n U+006E 6E n Letter a U+0061 61 a Letter ï U+00EF C3 AF ï Letter v U+0076 76 v Letter e U+0065 65 e Letter U+0020 20   Separator — U+2014 E2 80 94 — Punctuation U+0020 20   Separator 1 U+0031 31 1 Number 0 U+0030 30 0 Number 0 U+0030 30 0 Number % U+0025 25 % Punctuation U+0020 20   Separator d U+0064 64 d Letter o U+006F 6F o Letter n U+006E 6E n Letter e U+0065 65 e Letter . U+002E 2E . Punctuation U+0020 20   Separator 😀 U+1F600 F0 9F 98 80 😀 Symbol U+0020 20   Separator 中 U+4E2D E4 B8 AD 中 Letter 文 U+6587 E6 96 87 文 Letter
Everything on this page is processed in your browser. Nothing is uploaded.
Everything on this page is processed in your browser. Nothing is uploaded.
What this tool does
Text that looks identical can hide very different bytes: full-width versus half-width punctuation, look-alike letters from other scripts, invisible formatting characters, or a multi-byte emoji made of several code points. This tool iterates the string one Unicode code point at a time — correctly pairing UTF-16 surrogate pairs so an emoji isn't split into two broken halves — and reports each one's hexadecimal code point, its UTF-8 byte encoding, an HTML numeric entity you can paste into markup, and its general Unicode category such as letter, number or punctuation.
How to use it
- Paste or type text, or load the example.
- Review the per-character table of code points, UTF-8 bytes and categories.
- Copy the character list.
Privacy
This tool runs entirely in your browser. Your input is never uploaded, stored or shared — closing the tab removes it.
Frequently asked questions
- Is my text uploaded anywhere?
- No. Inspection happens in JavaScript running in the page, so your text never leaves your device.
- Does it handle emoji correctly?
- Yes. The string is iterated by Unicode code point rather than by UTF-16 code unit, so an emoji built from a surrogate pair is shown as a single character instead of two invalid halves.
- What is the HTML entity column for?
- It's the numeric character reference (like é) you can paste directly into HTML when a character might otherwise be misread by an editor or a different encoding.