AnyTool
Your files never leave your device. All processing happens locally in your browser.

How do I inspect the Unicode characters in a string?

Type or paste text into AnyTool Unicode Inspector. It instantly splits your text into grapheme clusters and code points, and for every code point it shows the glyph, U+XXXX hex and decimal value, a derived name, the general category, script and Unicode block, the UTF-8 bytes and UTF-16 units, and HTML, CSS, JS and URL escapes. Invisible and zero-width characters are highlighted in red. Everything is computed in your browser, so your text is never uploaded.

  • Splits text into graphemes (Intl.Segmenter) and code points
  • Per code point: name, category, script, block, UTF-8 and UTF-16
  • HTML entity, CSS escape, JS \uXXXX and URL percent-encoding
  • Highlights hidden zero-width, BOM, bidi and control characters
  • One-click strip of hidden characters — 100% client-side

What is

Unicode Inspector

A Unicode inspector is a tool that breaks a string into its individual code points and grapheme clusters and reports each character’s properties — code point value, name, general category, script, block and byte encodings — so developers can debug encoding issues and spot invisible or look-alike characters.

Text Tools

Related terms

Code PointGrapheme ClusterUTF-8Zero-Width SpaceUnicode Block

Frequently Asked Questions

Paste the text into the Unicode Inspector. Zero-width spaces, byte-order marks, bidi controls and other invisible characters are flagged in red, and you can strip them with one click.

The Unicode Inspector detects invisible and zero-width code points — such as the zero-width space (U+200B), zero-width joiner (U+200D), byte-order mark (U+FEFF), soft hyphen, bidirectional overrides and C0/C1 control characters — and highlights them in red with a clear count. A “Strip hidden characters” button removes them while keeping ordinary spaces, tabs and line breaks, which is ideal for cleaning broken URLs, source code or pasted text.

A grapheme is what a reader sees as one character; a code point is a single Unicode value. One grapheme can be made of several code points, like a flag emoji or an accented letter.

A code point is a single Unicode scalar value (for example U+0041 LATIN CAPITAL LETTER A), while a grapheme cluster is a user-perceived character that may combine several code points — an emoji built with zero-width joiners, or a letter plus a combining accent. The inspector shows both views using the browser’s built-in Intl.Segmenter, so you can see exactly how many code points hide inside each visible character.

No upload happens. All analysis runs in your browser using JavaScript and Intl APIs, so your text never leaves your device and the tool works offline.

Every code point is analysed locally with native browser APIs — Intl.Segmenter for graphemes, regular-expression property escapes for categories and TextEncoder for UTF-8 bytes. Nothing is sent to a server, there is no tracking, and the page works offline after first load, so you can safely inspect confidential strings, tokens or source code.

It shows reliable names for control, format, whitespace and common characters, and derives names for Hangul syllables and CJK ideographs. Full names for every character need a large database that is not bundled.

To stay fast and fully client-side, the tool does not bundle the multi-megabyte Unicode name database. Instead it ships accurate names for control, format, whitespace and common characters, and it derives names algorithmically for ranges that allow it — such as Hangul syllables and CJK unified ideographs. Where a name cannot be derived, the code point value is shown so the result is always honest rather than guessed.

Detailed Explanation

Methodology

How the Unicode Inspector Works

AnyTool Unicode Inspector analyses text entirely in the browser. It splits input into grapheme clusters with the native Intl.Segmenter API and into code points with Array.from, then derives each code point’s general category using regular-expression property escapes (\p{L}, \p{N}, \p{Zs}, \p{Cc}, \p{Emoji} and so on), its script via \p{Script=...} probing, and its Unicode block from a hand-rolled code-point range table. UTF-8 bytes come from TextEncoder and UTF-16 units from the string itself.

  • Graphemes use Intl.Segmenter; code points use Array.from iteration
  • General category derived from \p{...} Unicode property escapes
  • Script identified by probing a broad set of \p{Script=...} values
  • Unicode block resolved from a range table; plane computed from value
  • All analysis is client-side JavaScript — no server round-trip
How It Works

Encodings, Escapes and Hidden Characters

For each code point the tool reports the UTF-8 byte sequence in hex, the UTF-16 code units, and ready-to-paste escapes: an HTML entity (named where one is common, otherwise numeric), a CSS escape, a JavaScript \uXXXX or \u{...} escape and a URL percent-encoding. It also flags invisible and zero-width code points — zero-width space, byte-order mark, bidirectional controls, soft hyphen, variation selectors and control characters — and can strip them in one click.

  • UTF-8 bytes (hex), UTF-16 units, and decimal plus U+ hex values
  • HTML named/numeric entity, CSS escape, JS escape, URL encoding
  • Detects zero-width, BOM, bidi, soft-hyphen and control characters
  • One-click cleaning removes hidden characters but keeps real spaces
  • Flags combining marks, emoji, surrogates and private-use code points
Privacy & Security

Character Names and Privacy

The full Unicode name database is several megabytes, so it is deliberately not bundled. Instead the tool ships reliable names for control, format, whitespace and common characters and derives names algorithmically for Hangul syllables and CJK unified ideographs; where a name cannot be derived it shows the code point value rather than guessing. Because everything runs locally, text is never uploaded, there is no tracking, and the page works offline after first load.

Unicode inspection: in-browser (AnyTool) vs typical character inspectors
CapabilityAnyToolTypical online inspectors
Text handlingProcessed in your browserOften posted to a server / CGI
Graphemes + code pointsBoth, via Intl.SegmenterUsually code points only
Hidden-character detectionHighlighted and strippableRarely built in
Encodings + escapesUTF-8/16, HTML, CSS, JS, URLOften partial
Character namesReliable + derived, honest gapsServer DB or none
Works offlineYes (PWA)No
Cost / signupFree, no signupOften ad-heavy or gated

Server-based inspectors can retain pasted strings in logs; AnyTool derives every property locally and uploads nothing.