Skip to content
Text

Unicode Inspector

Inspect every character: code point, name, UTF-8 bytes, category.

unicodecharactercodepointutf8inspect
Loading tool…

About this Unicode inspector

Unicode Inspector breaks any text down so every single character can be examined on its own. Type into the single-line Text field and the Character breakdown table repopulates live, with one row per code point numbered from zero. For each character the table lists the printable Char, its Code point in hexadecimal form, a Name, a Category badge, and the exact byte representations used by UTF-8 and UTF-16. ASCII characters receive their full official Unicode names such as LATIN CAPITAL LETTER A, while everything else is labelled with its code point, because the complete Unicode name database is not bundled client-side. Control characters like tabs and line feeds are rendered as escapes such as and , and spaces appear as visible markers. The stat grid totals Code points, UTF-8 bytes, UTF-16 units, and Letters, with a second row counting every category. For performance, only the first 512 characters are rendered in the table, and a note appears when longer text is truncated. The bundled sample, Hello, 世界! 🌍, demonstrates ASCII, CJK, and an emoji in one go.

Unicode inspector examples

Input
Hello, 世界! 🌍
Output
11 code points - 20 UTF-8 bytes - 14 UTF-16 units - 7 Letters
H   U+0048  LATIN CAPITAL LETTER H       Letter  48         0048
世  U+4E16  Code point U+4E16             Letter  E4 B8 96   4E16
🌍  U+1F30D Code point U+1F30D            Symbol  F0 9F 8C 8D D83C DF0D
Note: The default sample spans ASCII, CJK, and an emoji; the globe takes four UTF-8 bytes but is still a single code point.
Input
a	b
Output
4 code points - 4 UTF-8 bytes - 4 UTF-16 units - 2 Letters - 2 Control
a   U+0061  LATIN SMALL LETTER A    Letter   61      0061
	  U+0009  CHARACTER TABULATION    Control  09      0009
b   U+0062  LATIN SMALL LETTER B    Letter   62      0062

  U+000A  LINE FEED               Control  0A      000A
Note: Control characters display as and escapes instead of invisible bytes, and the category tiles count two Control rows.
Input
café
Output
4 code points - 5 UTF-8 bytes - 4 UTF-16 units - 4 Letters
c  U+0063  LATIN SMALL LETTER C             Letter  63      0063
é  U+00E9  Code point U+00E9                 Letter  C3 A9   00E9
Note: The precomposed é expands to two UTF-8 bytes, C3 A9, while remaining one code point and one UTF-16 unit.

How to inspect Unicode characters

  1. 1

    Type or paste text into the single-line Text field; the default mixed-script sample loads automatically.

  2. 2

    Scan the stat tiles for Code points, UTF-8 bytes, UTF-16 units, and the Letters count.

  3. 3

    Review the Character breakdown table for each character's Code point, Name, and Category badge.

  4. 4

    Compare the UTF-8 bytes and UTF-16 units columns to understand how each encoding represents the character.

  5. 5

    Watch for the 512-character truncation note and shorten the input if only part of the table renders.

What to use a Unicode inspector for

  • Checking whether pasted content hides tabs or line feeds before cleanup.
  • Confirming that an emoji in an interface is the code point you expect.
  • Diagnosing mojibake by comparing UTF-8 byte sequences of two visually identical strings.
  • Auditing a string for control characters that break JSON or CSV exports.
  • Teaching how UTF-8 and UTF-16 encode the same character differently.
  • Verifying the byte size of a user-generated field before setting database limits.

Best practices

  • Inspect scraped or imported text for hidden Control characters before it lands in production strings.
  • Verify emoji and CJK through the table, since invisible encoding issues are the hardest to reproduce later.
  • Check the UTF-8 bytes column when configuring databases, because storage limits depend on bytes, not characters.
  • Use the UTF-16 units column to reason about JavaScript string length, which counts code units rather than characters.
  • Keep inputs under 512 code points when you need the complete table, watching for the truncation note.

Unicode inspector tips

  • Paste a snippet with mixed scripts to quickly compare how many bytes each encoding needs.
  • Hunt for invisible Control characters in scraped text by scanning the Category column for the red badge.
  • Verify a copy-pasted emoji really is the character you expect by reading its U+ code point.
  • Compare UTF-16 units of two samples when debugging surrogate-pair issues in JavaScript string handling.

Unicode inspector FAQ

The full Unicode name database is too large to ship client-side, so the tool includes only the official names for ASCII code points 0 to 127. Any other character is labelled Code point U+XXXX with its code point, which still uniquely identifies the character.

Whitespace would be invisible in the table, so an ordinary space is drawn as a raised middle dot and the non-breaking space as a special glyph. Tabs, line feeds, and carriage returns are rendered as \t, \n, and \r, and other control characters appear as hexadecimal escapes.

Rendering every character of very long input would bog down the browser, so only the first 512 code points are shown and a note warns when text is truncated. The category and byte totals still count the whole string, so the stats remain accurate for full documents.

A code point is the numeric identity of a character in Unicode, written here as U+XXXX. The tool iterates text by code point, so emoji such as the globe sample appear as a single row instead of being split across the surrogate halves JavaScript uses internally.

Seven categories are counted: Letter, Number, Punctuation, Symbol, Space, Control, and Other. Each character is classified with Unicode property tests for five of them, explicit control ranges for the sixth, and everything else falls into Other, with the stat grid totalling each bucket.

UTF-8 writes ASCII in one byte and other scripts in up to four, and the table lists each byte in uppercase hex such as E4 B8 96 for 世. UTF-16 uses 16-bit code units, so an emoji occupying two units appears as two hex values like D83C DF0D.

Explore more text tools

Browse the full collection of text tools on the hub, or jump back to all categories.

Related tools

Did this tool help?

Anonymous — one tap, no sign-up.