What does the Unicode String Inspector and Character Counter do?
Use this tool when you need a browser utility that shows grapheme clusters, Unicode code points, UTF-16 code units, UTF-8 bytes, and per-character metadata. It accepts any Unicode text and returns summary counts, a character table, reversed grapheme text, or one grapheme per line. Results are deterministic for the same input except where cryptographic randomness, current time, or a live provider response is part of the task.
Count the unit users actually perceive
Use graphemes for user-visible length and reversal, code points for Unicode analysis, UTF-16 units for JavaScript storage behavior, and UTF-8 bytes for transport limits.
How do you use it?
- Paste any Unicode text.
- Choose Inspect, Reverse graphemes, or Split graphemes.
- Review counts and per-grapheme code points, UTF-16 units, and UTF-8 bytes.
Worked example
Inspect a multi-code-point emoji
Input
👩💻Output
Graphemes: 1
Code points: 3
UTF-16 units: 5
UTF-8 bytes: 11A visible emoji sequence can contain multiple Unicode code points joined into one grapheme cluster.
Common errors and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| The character count differs from string length in code. | Many runtimes expose UTF-16 code units or code points rather than grapheme clusters. | Choose the measure that matches the product requirement. |
| A reversed emoji breaks apart elsewhere. | The destination lacks equivalent grapheme segmentation or font support. | Test segmentation and rendering in the target environment. |
Important behavior of String Inspector
Grapheme clusters, code points, UTF-16 units, and visible glyphs are different measures and can produce different counts.
Standards and implementation references
- Unicode Standard Annex #29 (opens in a new tab)Defines Unicode text segmentation and grapheme-cluster boundaries.
- ECMAScript Intl.Segmenter (opens in a new tab)Defines the browser segmentation API used by the inspector.
Frequently asked questions about String Inspector
Does the String Inspector upload my input?
No. Processing runs in the current browser tab, and the page does not send tool input to a KitLumi processing endpoint.
What input does the String Inspector accept?
It accepts any Unicode text. The workspace checks the input and reports malformed or unsupported values before it produces a result.
What does the String Inspector produce?
It produces summary counts, a character table, reversed grapheme text, or one grapheme per line. Copy and download controls appear when the output format supports them.
What limitation should I know?
Grapheme clusters, code points, UTF-16 units, and visible glyphs are different measures and can produce different counts.
What changed?
Added Grapheme-aware counts, Unicode code points, UTF-8 byte counts, Safe grapheme reversal, responsive controls, explicit runtime disclosure, and task-specific examples and limitations.