1. Home
  2. Developer tools
  3. Unicode Inspector

Unicode Inspector

When text looks right but behaves wrongly, the cause is often a character you cannot see: a zero-width space, a non-breaking space or a letter from another alphabet. Paste it and every code point is listed with what it is.

Free, no sign-up. Runs in your browser: nothing is uploaded.

How to use Unicode Inspector

  1. Paste or type the text.
  2. Read the table of code points, categories, scripts and bytes.
  3. Click Details on a character for its escape sequences.

Features

  • Code point, general category and script of each character
  • UTF-8 and UTF-16 bytes per character
  • Flags zero-width, no-break and other invisible characters
  • Counts code points, visible characters and UTF-8 bytes separately
  • Warns about mixed scripts and non-NFC text
  • Escape sequences for the selected character

Supported formats

Input

  • Typed or pasted text

You get

  • Code point table

Private by design

Everything you enter is processed by your browser on this device. Nothing is sent to openWorkstand or anyone else, so the Unicode Inspector is safe for private and work data. After you have used it once while online, it also works without an internet connection. How local processing works

Good to know

  • Character names are listed only for ASCII and common typographic, space and emoji characters.
  • Categories and scripts come from your browser’s Unicode version, which may be older than the newest standard.

Guide

Finding out what is really in a piece of text with Unicode

Text on a screen is a polite fiction. Behind each letter is a number, behind a flag are two numbers, and behind an apparently empty gap there may be a character with no width at all. When a search fails, a password is rejected, a CSV import breaks or a username looks suspicious, the reason is usually one of these hidden details. The inspector lays them out one code point per row.

What is listed for each character

The table gives the code point in the usual U+ notation, the name where one is available, the two-letter general category (such as Lu for an upper-case letter, Ll for lower-case, Zs for a space separator and Cf for a format control), the script (Latin, Cyrillic, Han and so on), and the character’s bytes in UTF-8 and UTF-16. Names are included for ASCII and for the common punctuation, spaces and emoji; for other characters the page shows the number and leaves the name out, since a full name table would add hundreds of kilobytes.

The summary above the table

Above the table are counts that people often confuse: code points, visible characters (grapheme clusters), UTF-8 bytes and UTF-16 units, which is the length that JavaScript reports. The scripts line lists the writing systems found. Warnings appear when the text mixes scripts, when it contains invisible or unusual space characters, and when it is not in normalisation form NFC, meaning that some characters are stored as a base letter followed by a combining mark.

Invisible and look-alike characters

Zero-width spaces, zero-width joiners, soft hyphens, byte order marks and no-break spaces are all legitimate characters and all easy to paste by accident from web pages and documents. They break comparisons, add gaps to identifiers and corrupt data fields. The table marks their rows and shows their code points, such as U+200B, so you can find and delete them. Look-alike letters, for instance a Cyrillic а in an otherwise Latin word, show up through the script column and the mixed-script warning.

Escape sequences

Choose Details on a row to see the character as an escape in several settings: JavaScript and JSON, Python, Java and C#, C and C++, CSS, HTML (as a hexadecimal and a decimal reference) and as percent-encoded UTF-8 bytes for URLs. This saves a trip to a reference table when you need to write a character into source code without relying on the file’s encoding.

A worked example

The Sample button loads a line containing an accented word, a flag, typographic quotes, a letter e followed by a combining acute accent, a zero-width space, an arrow, Japanese and Russian text. The summary reads 54 code points, 52 visible characters, 86 UTF-8 bytes and 56 UTF-16 units, with the scripts Latin, Han and Cyrillic. Two code points disappear into one visible character twice: the flag is two regional indicators and the combined accent is a letter plus a mark. The page reports one invisible character, and the text is flagged as not NFC because of the combining accent.

Limits

The table shows the first 400 characters of long input. Categories and scripts come from your browser’s copy of Unicode, which may be older than the newest standard, so recently added characters can appear as unassigned. The page does not repair text, change normalisation or remove characters; it shows what is there. A full list of character names is not included.

Checked against the current version of the Unicode Inspector on .

Frequently asked questions

Why does a string that looks identical to another one fail an equality check?

The two may use different code points for the same look: a letter with an accent can be one character or a base letter plus a combining mark, and a space can be a normal space or a no-break space. Unicode normalisation to the same form makes such strings equal; inspecting the code points shows which case you have.

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

A code point is one numbered Unicode value. A visible character, which the standard calls a grapheme cluster, can be several code points: a letter with combining marks, a flag made of two regional indicators, or an emoji family joined by zero-width joiners. Editors count graphemes, while programs often count code points or even code units.

Why does an emoji count as more than one character?

A code point is one Unicode value, but a visible emoji can be several, such as a flag (two letters) or a family (people joined by invisible joiners). The page shows both counts.

How do I find a zero-width space?

Paste the text: any zero-width or no-break character is marked in the table with its code point, such as U+200B, even though nothing is visible in the text.

Keep working with the result

openWorkstand also includes a free workspace with documents, spreadsheets, tasks, projects and a calendar that save to a folder on your computer.