Unicode Grapheme Inspector
See user-perceived character clusters, combining marks, joined emoji and their byte offsets. Compare grapheme, code-point, UTF-16 and UTF-8 counts; preview truncation and reversal that keep existing clusters together.
1. Inspect your text
Try the example to compare different kinds of character counts.
50,000 UTF-16 units · UTF-8 imports up to 250 KB · 15-second worker limit. Requires Intl.Segmenter. Unicode segmentation results can vary by browser version.
2. Explore a cluster
| Code point | Character | Common control name | Flags |
|---|
Cluster-aware previews
How to inspect a difficult character
- Paste text or load the sample, then inspect it in a local worker.
- Select a cluster tile to inspect code points, offsets, common control names and diagnostic flags.
- Compare counts, preview a cluster-preserving truncation or reversal, and download the full report if needed.
Clusters, fonts and boundaries
Grapheme clusters approximate user-perceived characters; they do not guarantee a single glyph. Joining, font fallback and language shaping affect appearance. Reversing clusters preserves each original cluster internally, but their new neighbors may change rendering or segmentation.
Only common controls have bundled names; a blank name does not mean an unknown code point. Whitespace tiles use visible labels. Unpaired surrogates are flagged and become replacement characters when encoded as UTF-8. Full reports include the source text as cluster values.
For cleanup or encoding tasks, use Unicode Normalization Lab, UTF-8 Byte Offset Inspector or Invisible Character Inspector. This page does not silently normalize or remove characters.
Using Unicode Grapheme Inspector
Understand why visible characters, code points, UTF-16 units and UTF-8 bytes can have different counts.
- Load text and inspect its grapheme segmentation.
- Select a cluster to examine its code points, controls and byte offsets.
- Preview cluster-aware truncation or reversal and download the text or full report.
Example
The sample includes decomposed accents, an emoji family, skin-tone modifier, flag and keycap.
Questions & answers
Is a grapheme always one visible glyph?
No. Grapheme boundaries approximate user-perceived characters. Fonts, shaping and neighboring text can affect how clusters render.
Does reversal preserve emoji sequences?
Each original grapheme cluster remains intact internally. New neighbors may still affect rendering or segmentation after reversal.
Why can results differ between browsers?
Intl.Segmenter uses the browser Unicode implementation and data version. Some newer emoji or script sequences can segment differently across versions.
What are the limits?
50,000 UTF-16 units, UTF-8 imports up to 250 KB and a 15-second worker limit. Cluster tiles are paged by 100 and detail previews show 200 code points; JSON contains all results.
Are all Unicode character names included?
No. Only a small common-control name table and diagnostic flags are bundled. Unnamed characters still have their code point and exact text shown.
Help improve this tool
Report a problem or suggest an improvement
Describe the issue without pasting private tool input. Feedback goes to our admin inbox.
