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.