FormatterHQ

Unicode Character Inspector

Paste any text to see what each character really is: code point, category, script, UTF-8 and UTF-16 bytes, HTML entity and ready-to-use JavaScript and CSS escapes.

Input TEXT
Output TEXT
Ready.

How to use the Unicode Character Inspector

  1. Paste text or a single character into the input editor.
  2. Read the table in the preview: one row per code point with category, script, bytes and escapes.
  3. Switch to the code view for a compact text version you can copy.
  4. Copy the escape you need — HTML entity, JavaScript \u escape or CSS escape.

Inspect characters with the Unicode character inspector

Characters that look the same can be completely different underneath: a Latin "a" and a Cyrillic "а", a hyphen and an en dash, a normal space and a no-break space. When text behaves strangely, you need to see the actual code points. This Unicode character inspector breaks a string into its code points and shows everything a developer needs to know about each one.

Columns explained

  • Code point: the Unicode number, e.g. U+20AC (decimal 8364) for €.
  • Category: the Unicode general category, such as Ll (lowercase letter), Nd (decimal digit), Sc (currency symbol) or Cf (format — often invisible).
  • Script: Latin, Greek, Cyrillic, Han, Arabic and so on; "Common" is used for punctuation and symbols shared by many scripts.
  • UTF-8 / UTF-16: the bytes and code units used to store the character. € is E2 82 AC in UTF-8 and one UTF-16 unit, while 😀 needs four UTF-8 bytes and a surrogate pair in UTF-16.
  • HTML: the named entity when one exists (€), plus decimal and hex numeric references.
  • JS / CSS: \u20AC or \u{1F600} for JavaScript strings and \20AC for CSS content.

Useful for

  • Spotting homoglyphs in domain names, usernames or phishing e-mails.
  • Finding out why a regular expression does not match — maybe the "space" is U+00A0.
  • Calculating storage size: UTF-8 bytes per character decide whether text fits a database column limit.
  • Getting the right escape sequence for source code, CSS icons or HTML.

Emoji built from several code points, such as skin-tone variants or families, appear as several rows — that is how they are stored. The inspector shows the first 500 code points.

To only find hidden characters, the invisible character detector is quicker. Browse named entities in the HTML entities list or convert whole strings with text to HTML entities.

Normalisation and look-alikes

The same visible text can be stored in different ways. "é" may be a single code point (U+00E9) or an "e" followed by a combining acute accent (U+0065 U+0301). Both look identical, but string comparison, search and database uniqueness checks treat them as different. The inspector shows which form you have: a combining mark appears as its own row with category Mn. Similar confusion arises between Latin, Greek and Cyrillic letters — the script column reveals them instantly.

Privacy

The tool runs entirely in your browser. Nothing you type or paste is sent to our servers.

Frequently asked questions

What is a Unicode code point?
A code point is the unique number Unicode assigns to a character, written as U+ followed by hexadecimal digits, e.g. U+0041 for A.
Why does one emoji show several rows?
Many emoji are sequences of code points joined with zero-width joiners or modified by skin-tone and variation selectors. Each code point is shown separately.
How many bytes does a character take in UTF-8?
One byte for ASCII, two for most European accented letters, three for most other characters including CJK, and four for emoji and rare characters.
What does the "Cf" category mean?
Cf stands for format characters, such as zero-width joiners and direction marks. They are usually invisible but affect how text is displayed.

Last updated October 3, 2026

Related tools