Last updated ·Published ·By the WiserWork team
Unicode Analyzer
Analyze any character: code point, UTF-8, HTML entity, name & more
Type any character, emoji, or symbol
Type or paste a single character and this tool reports its code point, decimal and hexadecimal values, UTF-8 bytes, HTML entity, and JavaScript and CSS escape forms.
What is the Unicode Analyzer?
A character and a byte are not the same thing, and this tool exists to show the gap. Enter one character and eight cards fill in: the U+ code point, the same number in decimal and in hexadecimal, the UTF-8 byte sequence in hex, a numeric HTML entity, a character name, a JavaScript escape and a CSS escape. The letter e costs one byte in UTF-8, the recycling symbol costs three bytes as E2 99 BB, and the combining acute accent U+0301 costs two while occupying no width of its own.
Key Features
- Shows code point, decimal, hexadecimal and UTF-8 bytes side by side
- Supplies a numeric HTML entity plus JavaScript and CSS escape forms
- Identifies invisible characters such as non-breaking space by code point
- Quick grid of 48 symbols, arrows, math signs, currency and Mac keys
- Updates as you type, and the character you paste never leaves the page
Common Use Cases
- Identifying the invisible character that an import or form keeps rejecting
- Getting the exact entity code for a symbol before hand-writing HTML
- Checking whether a dash is a hyphen, an en dash or an em dash
- Showing a colleague why one glyph costs three bytes in UTF-8
How to Use the Unicode Analyzer
- Clear the recycling symbol out of the input box and paste your character.
- Read the U+ code point and decimal value in the first two cards.
- Check the UTF-8 byte row to see how many bytes the character occupies.
- Select the entity or escape form you need and copy it; the cards have no copy button.
- Click any tile in the Quick Characters grid to analyze that symbol instead.
Tips for Best Results
- The box reads only the first character, so inspect one thing at a time.
- Paste a suspect invisible character on its own: a non-breaking space reports U+00A0.
- Character names come from a built-in table of 24 symbols; everything else shows a dash.
- Emoji above U+FFFF are stored as two units, and only the first one is read.
Why Use WiserWork's Unicode Analyzer?
Most text bugs that survive to production are invisible ones: a non-breaking space pasted in from a web page, a zero-width joiner left over from an emoji, a Cyrillic letter sitting inside a Latin word. None of them look wrong on screen and none of them can be found by staring harder. Reading the code point is usually the fastest way to settle the argument about why two apparently identical strings refuse to match.
Who Uses the Unicode Analyzer?
Developers chasing an encoding bug, localization testers checking how a font renders a mark, and anyone writing HTML by hand who needs the numeric entity for a symbol. Support staff use it as well, pasting in the exact character that made a customer's file fail to import.
Frequently Asked Questions
What is the difference between a character and a byte?
A code point is the number Unicode assigns to a character; a byte is a unit of storage. UTF-8 spends one byte on ASCII, two on most accented Latin and Greek letters, three on symbols like the recycling sign, and four on emoji. The UTF-8 Bytes card shows which case you are looking at.
Can I analyze a whole string at once?
No. The field accepts up to two code units and describes the first character only, so this is a per-character inspector rather than a text scanner. Feed it one character at a time.
Why does an emoji report a code point starting U+D8?
Emoji above U+FFFF are stored in JavaScript as a surrogate pair of two code units, and the tool reads the first unit, so it reports the high surrogate rather than the real emoji code point. The UTF-8 byte field also stops updating in that case, so treat astral characters as out of scope here.
Why do so many characters show a dash instead of a name?
Names come from a hardcoded table of 24 common symbols, not from the full Unicode character database. Exactly half the tiles in the quick grid fall outside it, including the pound sign, the arrows and the white star, so those display a dash.
How do I track down an invisible character in my data?
Isolate the suspect character in your editor, paste it here on its own, and read the number. Zero-width space is U+200B with bytes E2 80 8B, zero-width joiner is U+200D with E2 80 8D, and non-breaking space is U+00A0 with C2 A0.
What is a combining mark?
It is a code point with no width of its own that paints itself onto the character before it, such as U+0301, the combining acute accent. Paste one alone and you can read its number here; paste it after a letter and the tool describes the letter, because it only reads the first character.
Why is a single emoji made of several code points?
Many emoji are sequences rather than single characters: a base emoji plus a skin-tone modifier, or several emoji glued together with the zero-width joiner U+200D, which is how the family and profession emoji are built. This tool inspects one unit at a time and will not decompose such a sequence for you.
Can I paste the CSS escape straight into a stylesheet?
It gives you a backslash followed by the hexadecimal digits, which is the correct form for a content property. Remember that CSS needs the escape terminated with a space, or padded to six digits, when the next character is itself a hexadecimal digit.
Is anything I paste sent to a server?
No. The analysis is a short piece of JavaScript running in the page, so the character never leaves your device. That matters when the string you are debugging came out of a customer record.
What is the grid of tiles at the bottom for?
Quick Characters holds 48 symbols: copyright and trademark signs, three currencies, arrows, math operators, card suits, weather glyphs and the Mac command and option keys. Clicking one loads it into the input so you can read its numbers without hunting through a character map.
Every strange text bug eventually comes down to a number you cannot see on screen. Paste the character, read its code point and its byte count, and the mystery usually resolves within a few seconds.