Unicode Inspector
Breaks text into codepoints with names, blocks, scripts and UTF-8/UTF-16 byte sequences.
Lists every code point in a piece of text with its name, block, script, UTF-8 and UTF-16 bytes and escape forms — and a second view that groups them into what a person would call a character. That second view is what explains a form rejecting text that looks well within its limit.
Text
Every code point is listed. Long inputs are cut at 2,000 rows.
9 code points
| Char | Code point | Name | Block | Script | UTF-8 | UTF-16 | Escapes |
|---|---|---|---|---|---|---|---|
| 한 | U+D55C | HANGUL SYLLABLE HAN | Hangul Syllables | Hangul | ED 95 9C | D55C | \uD55C %ED%95%9C |
| 글 | U+AE00 | HANGUL SYLLABLE GEUL | Hangul Syllables | Hangul | EA B8 80 | AE00 | \uAE00 %EA%B8%80 |
| · | U+0020 | SPACE | Basic Latin | Other | 20 | 0020 | \u0020 %20 |
| A | U+0041 | LATIN CAPITAL LETTER A | Basic Latin | Latin | 41 | 0041 | \u0041 %41 |
| 1 | U+0031 | DIGIT ONE | Basic Latin | Digit | 31 | 0031 | \u0031 %31 |
| · | U+0020 | SPACE | Basic Latin | Other | 20 | 0020 | \u0020 %20 |
| 😀 | U+1F600 | Emoticons U+1F600(block name) | Emoticons | Common | F0 9F 98 80 | D83D DE00 | \u{1F600} %F0%9F%98%80 |
| · | U+0020 | SPACE | Basic Latin | Other | 20 | 0020 | \u0020 %20 |
| ㈜ | U+321C | Enclosed CJK Letters and Months U+321C(block name) | Enclosed CJK Letters and Months | Hangul | E3 88 9C | 321C | \u321C %E3%88%9C |
How to use it
Paste the text
A single character you cannot identify, or a whole line you want to audit. Long inputs are cut at 2,000 rows.
Read the code-point table
The name identifies the character, the block says which part of Unicode it lives in, and the byte columns tell you what it costs in storage.
Switch to the grapheme view for the count
One line per thing a person would call a character, with the code points inside it. A family emoji is one and seven; a Mac-typed 한 is one and three.
Common questions
Why is one character three code points?
It is decomposed Hangul — the initial, medial and final jamo stored separately, which is how macOS writes filenames. It renders identically to the composed form and compares unequal to it. The normalisation tool joins them back up.
Some characters show a block name instead of a name
The full Unicode name database is about two megabytes, and downloading it to label a paragraph would be a poor trade. Hangul syllables and CJK ideographs are computed exactly from the standard’s own rules; ASCII, controls and common punctuation come from a small table; the rest is labelled by block.
What are the escape columns for?
The JavaScript form goes into source code, the URL form into a query string. Both are given so you can paste the exact character into a context that will not take it literally.
Feed it from
Text Reverser
Reverses a string, the words in it, or the order of lines — grapheme-aware, so emoji survive.
Invisible Character Remover
Finds and strips zero-width spaces, BOMs, soft hyphens and bidi controls hidden in pasted text.
Unicode Normaliser
Applies NFC, NFD, NFKC or NFKD — the fix for Korean text from macOS that looks right but never matches.
HTML Entity Encoder
Escapes and unescapes HTML entities, with named, decimal and hexadecimal output.
Next
These accept what this tool produces, so the result can go straight in.
Emoji & Kaomoji Search
Searches emoji, kaomoji and special characters by Korean or English name and copies them with one click.
Hex Viewer
Shows any file as an offset/hex/ASCII dump, identifies the magic bytes and highlights a search hit.
Unicode Normaliser
Applies NFC, NFD, NFKC or NFKD — the fix for Korean text from macOS that looks right but never matches.
Invisible Character Remover
Finds and strips zero-width spaces, BOMs, soft hyphens and bidi controls hidden in pasted text.
CSV Cleaner
Trims cells, normalises headers, fixes number and date formats and reports rows with the wrong column count.
CSV Join
Joins two tables on a key column with inner, left, right or outer semantics and shows unmatched rows.