Unicode Lookup
Search and convert Unicode characters, code points, and escapes.
Enter text to analyze each Unicode character
About the Unicode Lookup
Look up Unicode characters and convert between characters, code points, and escape sequences. When a character arrives as a mystery box or breaks a regex, seeing its actual code point is usually enough to explain what went wrong.
How to use it
- 1 Paste a character to see its code point, name, and encodings.
- 2 Or enter a code point such as U+1F600 to get the character.
- 3 Read off the UTF-8 bytes, UTF-16 units, and escape sequences.
- 4 Copy the form you need for your source code.
What it does
- Character to code point lookup and back
- UTF-8 and UTF-16 byte breakdown
- JavaScript, CSS, HTML and URL escape forms
- Full emoji support including surrogate pairs
Frequently asked questions
Is my input sent anywhere?
No. Every calculation happens locally in your browser using JavaScript. Nothing you paste is uploaded, logged, or stored on a server, which makes the tool safe to use with production data, credentials, and customer records.
What is the difference between a character and a code point?
A code point is a number assigned to an abstract character, written as U+0041. What a user perceives as one character — a grapheme cluster — may be several code points, such as an emoji with a skin-tone modifier or a letter with a combining accent. This is why string length in code rarely matches what a person would count.
Why does my emoji count as two characters in JavaScript?
JavaScript strings are UTF-16. Any code point above U+FFFF is stored as a surrogate pair of two 16-bit units, so .length returns 2. Use [...str] or Intl.Segmenter to count what a user would call characters.
What is the difference between UTF-8 and UTF-16?
Both encode all of Unicode, differing in how. UTF-8 uses 1–4 bytes per code point and is ASCII-compatible, which is why it dominates files and the web. UTF-16 uses 2 or 4 bytes and is what JavaScript, Java, and Windows use in memory.
Why do I see a box or question mark instead of a character?
The character is fine — your font simply has no glyph for it. A hollow box is the "missing glyph" placeholder. A black diamond question mark instead usually means real data loss, where bytes were decoded with the wrong encoding.