webutilkit

Unicode Codepoint Inspector

Break text down into its Unicode codepoints and UTF-8 byte representation, in your browser.

How it works

Text is split into individual Unicode codepoints — not raw 16-bit string units, so multi-part characters like most emoji stay whole — and each one is shown with its decimal codepoint, its U+ hex form, and the bytes it takes up when encoded as UTF-8.

Codepoints vs. bytes

A codepoint is a character’s identity in the Unicode standard; bytes are how that character is actually stored. Basic Latin characters need only 1 byte in UTF-8, while accented letters typically need 2, and characters outside the Basic Multilingual Plane — most emoji among them — need 4.

Common uses

Debugging a string that looks right but fails a length or encoding check, confirming exactly which character a copy-pasted symbol actually is, or learning how UTF-8 represents different scripts.

Frequently asked questions

Why does one emoji count as one character here?

Many emoji are stored as a surrogate pair — two 16-bit units — in JavaScript strings. This tool iterates by Unicode codepoint rather than by string index, so a surrogate pair is correctly treated as the single character it represents.

What do the UTF-8 bytes show?

How many bytes that exact character takes up when encoded as UTF-8, the encoding used almost everywhere on the web — from 1 byte for basic ASCII up to 4 bytes for characters outside the Basic Multilingual Plane, like most emoji.