Grapheme mode uses Intl.Segmenter when available (emoji ZWJ sequences, combining marks). Otherwise each scalar is shown.
Grapheme mode uses Intl.Segmenter when available (emoji ZWJ sequences, combining marks). Otherwise each scalar is shown.
Unicode Inspector
Paste any UTF-8 text to see each grapheme cluster or Unicode scalar value with U+ notation, UTF-8 hex bytes, official character name, General Category, script, and East Asian width. Large inputs run in a Web Worker; everything stays in your browser.
Unicode Inspector Use Cases
- Debug invisible characters, wrong encoding, or mixed scripts in logs and user input
- Verify UTF-8 byte sequences and code points for internationalized filenames or APIs
- Teach Unicode basics: grapheme clusters, combining marks, and emoji sequences
- Export a TSV table of segments and properties for documentation or test fixtures
Unicode Inspector FAQ
Is my text uploaded to a server?
No. Inspection runs entirely in your browser. Your input never leaves your device.
What is the difference between grapheme and scalar mode?
Grapheme mode groups user-perceived characters (emoji with skin tones, ZWJ sequences, combining marks) when your browser supports Intl.Segmenter. Scalar mode lists every Unicode code point separately.
Why do names or properties sometimes look unfamiliar?
Names and properties follow the Unicode Character Database. Unassigned code points show as "unassigned" or similar, and some symbols use normative Unicode names.
Why does large input use a Web Worker?
Inputs over 500KB are processed off the main thread so the table, scrolling, and controls stay responsive while Unicode tables are consulted.