Skip to content

Unicode Inspector

Text that looks identical can hide a zero-width space, a non-breaking space or a character that reverses the reading order. Paste it and see every character, its code, how many bytes it takes and which ones are invisible.

Code points

17

13 symbols · 20 UTF-16 units · 34 UTF-8 bytes

4 hidden or special character(s) found; they are marked in the table.

CharCodeUTF-8UTF-16Note
CU+0043430043
aU+0061610061
fU+0066660066
éU+00E9C3 A900E9
U+0020200020
·U+00A0C2 A000A0No-break space
·U+200BE2 80 8B200BZero-width space
mU+006D6D006D
eU+0065650065
nU+006E6E006E
uU+0075750075
U+0020200020
👨U+1F468F0 9F 91 A8D83D DC68
·U+200DE2 80 8D200DZero-width joiner
👩U+1F469F0 9F 91 A9D83D DC69
·U+200DE2 80 8D200DZero-width joiner
👧U+1F467F0 9F 91 A7D83D DC67

How it works

  1. Paste or type the text you want to look at.
  2. Read the totals: characters, visible symbols, UTF-16 units and UTF-8 bytes.
  3. Check the table for flagged rows: invisible, space-like or direction-changing characters.
  4. Copy the code points if you need them for a bug report or a regular expression.

What people use it for

  • A value that “looks the same” but does not match

    Find the non-breaking space or zero-width character that stops a copied word from matching.

  • Counting bytes

    See how many bytes a text takes in UTF-8 before it goes into a field with a size limit.

  • Checking an emoji

    See how one family emoji is five code points joined by invisible connectors.

Questions

What is the difference between the counts?
Code points are the characters of the Unicode standard (é is one). UTF-16 units are what JavaScript counts as length: an emoji takes two. UTF-8 bytes are what is stored in most files and sent over the web: é takes two, an emoji four. Symbols (graphemes) are what a reader sees as one character: a family emoji is one symbol made of five code points.
Which characters are flagged?
Zero-width spaces and joiners, the byte order mark, non-breaking and other special spaces, soft hyphens, direction marks and controls that can reorder text, variation selectors, control characters, private-use characters, lone surrogates and the replacement character. Line feeds and tabs are listed but not counted as problems. The list is a reading aid, not a security scanner.
Why are there no character names?
A table of names for every character is a large database and would slow the page down. The code, for example U+00E9, is enough to look a character up in any Unicode chart.
How much text is read?
The totals count the whole text, up to 300,000 characters. The table shows the first 2,000 characters. Nothing is sent or stored.