A little help goes a long way. Find a tool/

Reference

Unicode Lookup

Free Unicode lookup: enter a character, a code point like U+1F600, or a string and see code points, names, Unicode blocks, planes, UTF-8 bytes, UTF-16 units and escape syntaxes.

YOUR WORKSPACEFree to use. No sign-up.
—
Enter a character or code point above.

Deep dive guides

A LITTLE CONTEXT · 4 MIN READUnicode and Code Points: Beyond ASCII

How unicode lookup works

Every character you can type has an address in the Unicode standard: a code point written U+XXXX, from U+0000 up to U+10FFFF. This tool translates in both directions. Type a character (or paste a word) and it breaks the text into code points; type a code point in any common notation — U+1F600, 0x1F600, \u{1F600}, 😀 or a plain decimal number — and it shows the character. Either way you get the full identity card of each character: its code point, decimal value, official name where catalogued, Unicode block, plane, and its encodings.

The encodings matter in practice. UTF-8 stores code points up to U+007F in one byte, up to U+07FF in two, up to U+FFFF in three, and everything else in four bytes — which is why é counts as one character but two bytes. Code points above U+FFFF do not fit in a single UTF-16 unit, so JavaScript strings and many runtimes represent them as a surrogate pair of two units (😀 is U+D83D U+DE00). The tool shows both encodings byte by byte, plus ready-to-paste escapes: the JavaScript form (\u0041 or \u{1F600}) and the HTML forms (A and A).

Names and blocks put a character in context. Built-in names cover the C0 control characters, all of ASCII and the Latin-1 Supplement exactly (LATIN SMALL LETTER A WITH GRAVE and friends), plus a set of common punctuation and symbols; for other characters the tool reports the Unicode block instead, which is what encodings, fonts and regex engines care about most. Paste a whole string and you get a per-character table — invaluable for debugging why a string's length disagrees with its byte count, finding invisible zero-width characters, or identifying that mystery symbol pasted from a PDF.

Frequently asked questions

How is this different from the ASCII table?
The ASCII table covers code points 0–127 in a fixed reference grid. This tool covers the entire Unicode range from U+0000 to U+10FFFF, adds block and plane identification, shows UTF-8 and UTF-16 encodings, and works from characters or code points in any notation. For characters beyond ASCII — accented letters, CJK, emoji — this is the tool to use.
What is a Unicode block and a plane?
Unicode divides its code space into named blocks such as Greek and Coptic or Emoticons, which roughly group related scripts and symbols. Planes are the next level up: chunks of 65,536 code points. Plane 0 is the Basic Multilingual Plane where almost all everyday text lives; emoji sit in plane 1, the Supplementary Multilingual Plane, which is exactly why they behave differently in some programming languages.
Why does my emoji show two UTF-16 units?
Code points above U+FFFF cannot fit in 16 bits, so UTF-16 encodes them as a surrogate pair: two special code units in the ranges U+D800–U+DBFF and U+DC00–U+DFFF. 😀 (U+1F600) becomes U+D83D followed by U+DE00. This is why one emoji can count as length 2 in JavaScript's older string operations, and why splitting a string blindly can corrupt it.
What is the difference between a code point and a byte?
A code point is the abstract character address in Unicode; bytes are what files and networks actually store. UTF-8 needs 1 byte for ASCII, 2 for most accented Latin letters, 3 for Greek, Cyrillic and CJK, and 4 for emoji and rare scripts. The tool shows both numbers per character, which is the quickest way to explain a byte-count mismatch in a length-limited field.
Which names does the tool know?
Exact official names for the C0 control characters, DEL, every printable ASCII character and the whole Latin-1 Supplement, plus a set of very common punctuation, symbols and popular emoji. Characters outside that catalogue are identified by their Unicode block instead — for most debugging and encoding work, the block plus code point is the information you need.