What is this tool?
Analyze text strings to inspect exact Unicode code points, UTF-8 byte sequences, UTF-16 code units, Unicode categories, and non-printable characters. Detects zero-width spaces, invisible characters, bidirectional overrides, and multi-codepoint emoji clusters.
When to use it?
Debug text copying issues, detect invisible zero-width characters injected into code or credentials, investigate bidirectional text spoofing (RTLO attacks), examine Unicode normalization bugs, and inspect emoji grapheme sequences.
How does it work?
Iterates through text using JavaScript character iterators to correctly handle surrogate pairs, calls String.prototype.codePointAt, encodes character bytes using TextEncoder (UTF-8) and charCodeAt (UTF-16), and evaluates character values against Unicode 15.0 block ranges.
Technical Specifications & Standards
Unicode assigns every human script character, emoji, and control symbol a unique integer code point (U+0000 to U+10FFFF). Characters above U+FFFF are encoded in UTF-16 using surrogate pairs.
Operating Limits & Considerations
- Grapheme cluster boundaries (composite emoji sequences like skin tones or family groups composed of multiple codepoints joined by ZWJ) are broken down into their individual constituent code points for inspection.
Example Conversions
Hello π\u200b
Idx 0: "H" U+0048 (UTF-8: 48) [Latin] Idx 6: "π" U+1F44B (UTF-8: F0 9F 91 8B, UTF-16: D83D DC4B) [Emoji] Idx 7: [Hidden] U+200B (UTF-8: E2 80 8B) [Zero-Width Space]
Standards & Technical References
Frequently Asked Questions
A zero-width space (U+200B) is an invisible character used in typesetting to indicate word boundaries without displaying a space. It is frequently copied accidentally and causes elusive programming syntax errors or database query mismatches.
BiDi controls (such as Right-to-Left Override U+202E) force the rendering engine to reverse the visual direction of subsequent characters. Attackers sometimes use them to disguise executable file extensions (e.g. making "payload[U+202E]exe.pdf" display visually as "payloadfdp.exe").