One heart suit
The visible heart is a single scalar. Its font shape can vary without changing these values.
Input text ♥ Result U+2665 · 1 code point · 1 UTF-16 unit · 1 grapheme · UTF-8 E2 99 A5
Find out which characters are in your text, including spaces, combining marks, and emoji sequences.
Your text is processed on your device. This tool has no third-party scripts, and GlyphIndex never reads your clipboard automatically.
JSON includes your input and the result. Keep the file private if the text is private.
CSV contains all inspection records. If the output exceeds 10,000 UTF-16 units, those records describe the input. Formula-leading cells start with an apostrophe; JSON keeps the exact text.
Choose a grapheme cluster to see its code points.
| Character | Code points | Standard name | UTF-8 bytes | UTF-16 units |
|---|
The visible heart is a single scalar. Its font shape can vary without changing these values.
Input text ♥ Result U+2665 · 1 code point · 1 UTF-16 unit · 1 grapheme · UTF-8 E2 99 A5
A zero width joiner sits between two supplementary characters. The tested grapheme boundary treats the sequence as one cluster.
Input text 👩💻 Result U+1F469 U+200D U+1F4BB · 3 code points · 5 UTF-16 units · 1 grapheme
The accent follows the e as its own code point. Inspection does not compose or remove it.
Input text é Result U+0065 U+0301 · 2 code points · 2 UTF-16 units · 1 grapheme
The central gap is NO-BREAK SPACE, not ordinary U+0020. The visual marker in the results is never inserted into copied text.
Input text A B Result U+0041 U+00A0 U+0042 · UTF-8 41 C2 A0 42
Paste text and choose Inspect text. The summary counts the complete input. Choose a grapheme button to see the code points in that cluster; inspection leaves your text unchanged.
| View | Question it answers |
|---|---|
| Grapheme clusters | Which code points are grouped into a text segment by this browser? |
| Code points and names | Which Unicode values are actually present? |
| UTF-16 units | How many JavaScript string units does the input occupy? |
| UTF-8 bytes | Which byte sequence represents this well-formed text? |
| Invisible markers | Where are spaces, joiners, controls, or formatting characters? |
If two strings look the same but behave differently, inspect each one and compare the values at the problem position. A combined letter and a base letter plus an accent can look alike while using different sequences.
You can inspect up to 10,000 UTF-16 units at a time. An unpaired surrogate is marked invalid rather than shown with misleading replacement bytes. Grapheme counts require a browser that supports Intl.Segmenter.
Names and properties come from Unicode 18.0.0. Grapheme boundaries come from your browser, which may support a different Unicode version. A cluster count describes the text segmentation, not how every font will draw it.
GlyphIndex · glyphindex.site · support@glyphindex.site