How to inspect Unicode characters
Paste text or click Upload to load a text file, then select an item in Preview (select a character for detail) or Character Report. Character Detail shows the selected character's code point, name, block, category, script, encodings, escapes, and flags. Unicode Inspector reads the input in the browser and leaves the textarea unchanged.
Inspect Unicode characters step by step
- Paste text into Text to inspect, or click Upload and choose a text file.
- Select a character in Preview (select a character for detail) or select a row in Character Report.
- Read the selected character's code point, decimal value, name, block, category, script, encodings, escapes, and flags in Character Detail.
- Enter a character, a value such as
U+1F600or128512, or a name in Unicode value or name to run a separate lookup.
What Unicode Inspector shows for each character
When Intl.Segmenter is available, the report groups text into grapheme clusters. A cluster can contain several code points, so each row includes a cluster number and a code-point index range. Without Intl.Segmenter, the script uses Array.from(text), which works at code-point level rather than grapheme level.
Character Detail lists the code point and decimal value, available name, block, general category, script, combining status, UTF-8 bytes, UTF-16 units, HTML entity, CSS escape, JavaScript escape, JSON escape, and flags. The Preview marks entries with control, invisible, bidirectional, or surrogate flags, as well as clusters with multiple code points.
Input: A€
Character Detail:
A U+0041 LATIN CAPITAL LETTER A
€ U+20AC EURO SIGN Currency Symbols
Names come from local control and character tables, with generated names for some ranges. A character outside that data appears as (name unavailable).
Unicode lookup, filters, and report export
Type a pasted character, a hexadecimal value with or without U+, a decimal value, or a name such as BULLET into Unicode value or name. The result updates as you type. Partial name lookup searches the local named-character table. An invalid query shows No match.
- Choose Filter to show All characters, Non-ASCII, Whitespace, Control, Invisible, Combining marks, Bidirectional controls, Surrogates, Emoji / ZWJ sequences, or ZWJ sequences only.
- Turn on Unique only to keep the first row for each repeated cluster value.
- Click Copy Report to copy the displayed rows, or CSV to download the rows as
unicode-inspector-report.csv.
Reset filters returns the report to All characters and clears Unique only. If a filter removes every row, the table shows No characters match the current filter. and the export buttons are disabled.
When Unicode Inspector is useful
- A developer can inspect
€, an accented letter, or an emoji to compare its code points with the bytes and escapes expected by an API or source file. - An editor can check pasted text for whitespace, invisible characters, combining marks, or bidirectional controls before placing it in a document.
- A tester can look up
U+1F600orBULLET, then copy the displayed report for a bug ticket.
Choosing a Unicode analysis tool
Use Text Analysis Tools for character-level Unicode details alongside other text checks. Choose Invisible Character Detector to find hidden characters and read removal guidance. Choose Homoglyph Detector to check selected Cyrillic, Greek, or Armenian characters that resemble Latin letters and see the reported risk. Use Unicode Property Tester for property tests with AND/OR logic or a custom \p{...} expression.
Frequently asked questions
What is a grapheme cluster in Unicode Inspector?
A grapheme cluster is a displayed-character unit that can contain multiple code points. Unicode Inspector uses Intl.Segmenter when available. Its Array.from(text) fallback works at code-point level, so it is not grapheme-accurate.
Can I inspect a Unicode code point by number?
Yes. Enter a hexadecimal value such as U+1F600 or a decimal value such as 128512 in Unicode value or name.
Does Unicode Inspector change the text I paste?
No. It reads the textarea for analysis and leaves the input unchanged; it does not normalize, convert, remove, or rewrite characters.
Is the text sent to a server?
The analyzed text is read in the browser, and this page's script contains no request that uploads it. Upload uses a local file as input, then the tool reads its text.