Unicode character inspector

Code points, names and byte lengths of any text.

FreeRuns in your browserNo signupUpdated 2026-10-29

Code points

30

29 visible characters (grapheme clusters)

UTF-8 bytes

47

32 UTF-16 units, which is what JavaScript's .length counts

Invisible characters

1

Zero-width, direction marks, no-break spaces and the byte order mark

Categories come from Unicode general categories and script properties. Click a code point for its page on unicode.org.

Characters

CharCode pointUTF-8UTF-16Category
CU+0043430043Uppercase letter
aU+0061610061Lowercase letter
fU+0066660066Lowercase letter
éU+00E9C3 A900E9Lowercase letter
·U+0020200020Space
مU+0645D9 850645Letter (Arabic, right-to-left)
رU+0631D8 B10631Letter (Arabic, right-to-left)
حU+062DD8 AD062DLetter (Arabic, right-to-left)
بU+0628D8 A80628Letter (Arabic, right-to-left)
اU+0627D8 A70627Letter (Arabic, right-to-left)
·U+0020200020Space
👋U+1F44BF0 9F 91 8BD83DEmoji
·U+1F3FDF0 9F 8F BDD83CSkin tone modifier 4
·U+0020200020Space
nU+006E6E006ELowercase letter
aU+0061610061Lowercase letter
ïU+00EFC3 AF00EFLowercase letter
vU+0076760076Lowercase letter
eU+0065650065Lowercase letter
·U+200BE2 80 8B200BZero width space
zU+007A7A007ALowercase letter
eU+0065650065Lowercase letter
rU+0072720072Lowercase letter
oU+006F6F006FLowercase letter
‑U+2011E2 80 912011Punctuation
wU+0077770077Lowercase letter
iU+0069690069Lowercase letter
dU+0064640064Lowercase letter
tU+0074740074Lowercase letter
hU+0068680068Lowercase letter
JavaScript string (escaped)
Caf\u00E9 \u0645\u0631\u062D\u0628\u0627 \u{1F44B}\u{1F3FD} na\u00EFve\u200Bzero\u2011width
HTML entities
Café مرحبا 👋🏽 naïve​zero‑width

About this tool

How it works and how to read the result.

Need this done for you?

Arabic & multilingual websites

English and Arabic websites with proper right-to-left layouts.

See the service

What it does

A Unicode character inspector shows what is really inside a piece of text, character by character. Paste anything, from an Arabic headline to a product name copied from a supplier's PDF, and every code point is listed with its U+ number, its UTF-8 bytes, its UTF-16 units and a category such as lowercase letter, Arabic letter, emoji, combining mark or zero-width space. Summary stats give the code point count, the number of visible characters, the UTF-8 byte length and how many invisible characters are hiding in the text.

How to use it

  1. Paste the text. The sample includes accents, Arabic, an emoji with a skin tone, a zero width space and a look-alike hyphen.
  2. Compare the stats. A gap between code points and visible characters means combining sequences or emoji modifiers are present.
  3. Scan the table for rows marked as zero width, no-break or direction marks, and delete those characters from your source.
  4. Copy the escaped JavaScript string or HTML entities if you need the text in code.

How to read the result

The sample text has 30 code points, 29 grapheme clusters and 47 UTF-8 bytes. The "é" in Café is one code point taking two bytes. The five Arabic letters take two bytes each and are marked as letters in the Arabic script, right-to-left. The waving hand with a skin tone is two code points, U+1F44B and U+1F3FD, four bytes each, that render as one emoji, which is why the grapheme count is lower.

The invisible count of 1 is U+200B, a zero width space between "naïve" and "zero". One more row is easy to miss: the hyphen is U+2011, a non-breaking hyphen, listed as punctuation. Both look normal in a text field, but a search for "zero-width" with an ordinary hyphen would not match this text.

The escaped output turns characters outside printable ASCII into backslash-u sequences for source code; the HTML entities line does the same for templates.

Mixed-script text is daily work in our Arabic and multilingual website projects. To check how the characters affect a URL, try the URL slug generator.

Questions

Frequently asked.

Why does my text contain characters I cannot see?

Copying from PDFs, Word, chat apps and some CMS editors brings along zero-width spaces, soft hyphens, no-break spaces and direction marks. They are invisible but they break search matching, URL slugs and string comparisons. The inspector counts them and names each one so you can delete them precisely.

Why is the character count different from the byte count?

Unicode characters take between one and four bytes in UTF-8. Plain English letters are one byte, Arabic and most accented letters are two, and emoji are four. JavaScript's length property counts UTF-16 units, so an emoji counts as two, which is why form validation sometimes disagrees with what users see.

What does the category tell me?

It is the Unicode general category, such as letter, digit, punctuation, symbol, space or format, with the script added for non-Latin text and a note when the script runs right to left. Format characters are the invisible ones. The link on each code point opens the official unicode.org page with the full name and properties.

Your next move

Like what you see? Tell us about it.

A process that takes too long, a website that undersells you, or an idea ready to take shape. Tell us where you are and we will suggest a useful next step.

India · Working with clients worldwide

We reply within a working day. No spam, ever.