Logo

MonoCalc

/

Unicode Character Inspector

Text
Everything is analysed locally in your browser — the text is never uploaded.
U+1F600, 0x1F600, 1F600 or 128512 — used when the text box is empty.

Samples:

Enter some text to inspect, or look up a single code point such as U+1F600.

About This Tool

Unicode Character Inspector – See Every Code Point in Your Text

Text that looks correct on screen can still be wrong in memory. The Unicode Character Inspector takes any string you paste and breaks it apart character by character, reporting the code point, official name, general category, Unicode block and script, the decimal, hex, octal and binary values, the UTF-8, UTF-16 and UTF-32 byte sequences, and ready-to-paste escape sequences for HTML, CSS, JavaScript, Python, Java, C and URLs. It is a character viewer, a code point lookup and an invisible character detector in one page.

Why the same-looking string behaves differently

Three classes of bug account for most Unicode headaches, and all three are invisible until you look at the code points.

SymptomUsual causeWhat to look for
Strings compare unequalDecomposed accentse + U+0301 instead of U+00E9
Database or API rejects the valueHidden format charactersU+200B, U+00A0, U+FEFF, U+00AD
Byte count exceeds character countMulti-byte code pointsEmoji, CJK, ZWJ sequences, surrogate pairs

Code points, grapheme clusters and code units

These three counts agree only for plain ASCII. A code point is one Unicode scalar value. A grapheme cluster is what a reader calls a character — a family emoji built from three people and two zero-width joiners is five code points but one cluster. A UTF-16 code unit is what String.length returns in JavaScript, Java and C#, which is why "👍".length is 2: anything above U+FFFF is stored as a surrogate pair. Switching the segmentation mode re-splits the table so you can see each view.

Finding invisible characters and homoglyphs

Characters in the Cc, Cf and Zs categories render as nothing or as ambiguous whitespace. The inspector replaces them with visible badges such as ⟨ZWSP⟩ and ⟨NBSP⟩, reports their exact positions, and offers a one-click strip so you can clean text pasted from a word processor or PDF. A separate check flags confusables — the Cyrillic U+0430 that looks exactly like a Latin a, Greek ο, fullwidth forms, typographic quotes and dashes — and warns whenever a single string mixes scripts, the classic signature of a spoofed domain name.

Normalization in one line

NFC composes characters and is what you almost always want before storing or comparing text. NFD decomposes them. The NFK forms additionally fold compatibility variants, turning into fi and fullwidth letters into ASCII — useful for search indexes, destructive for round-tripping.

Escapes and byte encodings

Every row carries the escape you need in the language you are writing. The euro sign, for example, is U+20AC, three UTF-8 bytes E2 82 AC, one UTF-16 code unit 20AC, € in HTML, \20AC in CSS, in JavaScript and Python and %E2%82%AC in a URL. Emoji outside the Basic Multilingual Plane show four UTF-8 bytes, a surrogate pair in UTF-16 and a \u{1F4A9} style escape in modern JavaScript.

Nothing leaves your browser

Segmentation, lookup, normalization and export all run locally, so it is safe to paste tokens, customer records or unreleased copy while debugging an encoding problem.

Who uses a Unicode inspector

Developers chasing encoding bugs, security engineers auditing strings for spoofing, localisation teams checking which scripts a translation actually contains, editors cleaning imported copy, and anyone learning how UTF-8 really works. Results export as CSV, JSON or a plain-text report, and the share link carries your text and settings so a colleague opens exactly the same breakdown.

Frequently Asked Questions

Is the Unicode Character Inspector free?

Yes, Unicode Character Inspector is totally free :)

Can I use the Unicode Character Inspector offline?

Yes, you can install the webapp as PWA.

Is it safe to use Unicode Character Inspector?

Yes, any data related to Unicode Character Inspector only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How does the Unicode Character Inspector work?

Your text is split into units — code points, grapheme clusters or UTF-16 code units, whichever you pick — and each unit is looked up in the browser's own Unicode tables using property escapes. The tool then derives the character name, general category, block, script, base conversions, byte encodings and escape sequences for every unit and renders them as one table row each. Everything runs locally, so the text never leaves your device.

Why do two strings that look identical compare as unequal?

Almost always because of invisible or decomposed characters. An accented letter can be one precomposed code point (U+00E9) or a base letter plus a combining mark (U+0065 U+0301), and a stray zero-width space, non-breaking space or byte order mark adds a character you cannot see. Paste both strings in turn and the table shows exactly where they differ.

What is the difference between code points and grapheme clusters?

A code point is a single Unicode scalar value; a grapheme cluster is what a reader perceives as one character. A family emoji is one grapheme cluster built from five code points joined by zero-width joiners, and an accented letter written in decomposed form is one cluster made of two code points. Switch the segmentation mode to see either view.

How does the tool detect homoglyphs and spoofed domains?

It checks every character against a curated list of look-alikes — Cyrillic а, е, о, р, с, Greek ο, ν, α, fullwidth forms and typographic dashes and quotes — and separately compares which scripts appear in the string. A word that mixes Latin with Cyrillic or Greek raises a mixed-script warning, which is the classic signature of a phishing domain.

How accurate are the character names?

Categories, scripts and byte encodings come from the browser's own Unicode data and are exact. Names are resolved from a bundled table covering ASCII, Latin-1, Greek, Cyrillic, punctuation, spaces, format characters and common emoji, plus algorithmic derivation for Hangul syllables, CJK ideographs and regional indicators. Rarer code points fall back to a block-based description rather than an error.

Is there a limit on how much text I can inspect?

Input is capped at 10,000 characters so the table stays responsive; anything beyond that is ignored and a warning is shown. The per-character table is also paged, so very long inputs render quickly while the summary panel still reports totals for the whole capped input.