Developer Tools

Unicode Character Lookup


Inspect any Unicode character or code point and get its UTF-8, UTF-16, HTML entity, and JS escape instantly and free, right in your browser.

Accepts U+XXXX, hex (0x2211), plain decimal, or an &#x...; entity.

About Unicode encodings

  • Code point — the abstract number for a character, written U+ then 4-6 hex digits.
  • UTF-8 — encodes each code point as 1-4 bytes; ASCII stays one byte.
  • UTF-16 — uses one 16-bit unit, or a surrogate pair for characters above U+FFFF (most emoji).
  • HTML entity &#x...; and JS escape \u{...} let you embed a character by its number.

The Unicode Character Lookup breaks any text down character by character and reveals the full encoding for each one: the U+XXXX code point, the decimal value, the UTF-8 bytes in hex, the UTF-16 code units, the HTML entity, and the JavaScript escape. You can also go the other way and type a code point to see exactly which character it produces and how to embed it anywhere.

Everything runs locally in your browser, so even emoji, accented letters, and characters made from surrogate pairs are decoded correctly using codePointAt, String.fromCodePoint, and TextEncoder. Nothing you paste is uploaded or stored.

How to use the Unicode character lookup

  1. Stay on the Inspect Text tab and paste or type your text into the box.
  2. Read the breakdown table: each row is one code point with its glyph, U+ value, decimal, name, UTF-8 bytes, UTF-16 units, HTML entity, and JS escape.
  3. Click any encoded value in the table to copy just that value, or use Copy Table to grab everything as tab-separated data.
  4. Need a symbol you cannot type? Pick a category (arrows, currency, math, punctuation, emoji) and click a glyph to insert it into the input.
  5. Switch to the Look Up Code Point tab and enter U+2211, 0x2211, plain decimal, or an &#x...; entity to see the character and every encoding for it.

What is a Unicode code point?

A code point is the unique number Unicode assigns to a character, written as U+ followed by four to six hexadecimal digits. For example, the summation sign ∑ is U+2211 and the grinning face 😀 is U+1F600. The code point is abstract: it says which character you mean, but not how the bytes are laid out in a file. That layout is decided by an encoding such as UTF-8 or UTF-16, which is why the same character can have several byte representations.

UTF-8 vs UTF-16 vs code point

UTF-8 stores each code point as one to four bytes and keeps plain ASCII as a single byte, which is why it dominates the web. UTF-16 uses one 16-bit unit for common characters and a surrogate pair of two units for anything above U+FFFF, which is how JavaScript strings represent most emoji internally. This tool shows all three side by side so you can see, for instance, that one emoji is a single code point but two UTF-16 units and four UTF-8 bytes. If you want to watch raw bytes turn into ones and zeros, a Text to Binary Converter spells out each byte in binary, and a Number Base Converter re-expresses a code point in binary, octal, decimal, or hexadecimal.

Why use a Unicode character lookup

  • Debug mojibake by confirming the exact code points and byte sequence behind text that renders wrong.
  • Embed characters safely in HTML, CSS, JSON, or source code using the ready-made entity and escape values.
  • Spot invisible characters such as zero-width joiners, non-breaking spaces, and byte-order marks that break comparisons.
  • Understand emoji and other astral-plane characters that occupy two UTF-16 units.
  • Copy-ready output for every encoding, with one-click copy on individual cells.
  • 100% client-side, so it keeps working offline and never sends your text anywhere.

When to use a different tool

This lookup is for understanding and encoding single characters. If your goal is specifically to convert reserved characters like <, >, and & into named or numeric references for markup, an HTML Entity Converter handles whole strings in both directions. To turn text into a compact, human-readable transport string instead of raw byte values, reach for a Base32 Encoder & Decoder. And when you want to restyle letters into bold, italic, or circled Unicode variants for social bios, a Fancy Text Generator maps ordinary characters onto their decorative code points for you.

Frequently Asked Questions

What is the difference between a code point and a character?

A character is the thing you see, while a code point is the number Unicode gives it, written like U+2211. Some visible characters, such as flag emoji or accented letters with combining marks, are actually made of several code points joined together.

How does the tool handle emoji and surrogate pairs?

It iterates the text by code point rather than by UTF-16 unit, so an emoji above U+FFFF is treated as one character. The table still shows its two UTF-16 surrogate units and its four UTF-8 bytes so you can see how it is stored.

What formats can I enter in the code point lookup?

You can type U+1F600, hexadecimal like 0x1F600, a plain decimal number such as 128512, a JavaScript escape like \u2211, or an HTML entity such as ∑. The tool parses all of these and shows the matching character.

What is the HTML entity and JS escape for?

The HTML entity, such as ∑, lets you place a character in HTML by its number, which is handy when your editor cannot type it. The JS escape, such as \u2211, does the same inside JavaScript strings and source code.

Why do some characters show an empty or placeholder glyph?

Control characters and zero-width characters have no visible shape, so the tool displays a placeholder box while still reporting their real code point and encodings. This makes invisible characters that sneak into text easy to spot.

Is my text sent to a server?

No. All analysis and code point lookup happens locally in your browser with JavaScript. Nothing you paste is uploaded, logged, or stored, and the tool keeps working even after you go offline.