Inspect zero-width characters, bidirectional controls, mixed scripts, encodings, and normalization risks
Code points
69UTF-16
69 unitsUTF-8
73 bytesRisk characters
1Characters requiring review detected
Newlines, carriage returns, tabs, and variation selectors are preserved. Unpaired surrogates are always removed. Check whether your content relies on ZWJ or private-use characters before cleaning.
Detected scripts: Latin, Cyrillic
Offsets use JavaScript UTF-16 indexing
| Offset | Character | Code point | UTF-8 | UTF-16 | Escape | Script / Risk |
|---|---|---|---|---|---|---|
| 0 | c | U+0063 | 63 | 0063 | \u0063 | Latin |
| 1 | o | U+006F | 6F | 006F | \u006F | Latin |
| 2 | n | U+006E | 6E | 006E | \u006E | Latin |
| 3 | s | U+0073 | 73 | 0073 | \u0073 | Latin |
| 4 | t | U+0074 | 74 | 0074 | \u0074 | Latin |
| 5 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 6 | u | U+0075 | 75 | 0075 | \u0075 | Latin |
| 7 | s | U+0073 | 73 | 0073 | \u0073 | Latin |
| 8 | e | U+0065 | 65 | 0065 | \u0065 | Latin |
| 9 | r | U+0072 | 72 | 0072 | \u0072 | Latin |
| 10 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 11 | = | U+003D | 3D | 003D | \u003D | Common |
| 12 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 13 | " | U+0022 | 22 | 0022 | \u0022 | Common |
| 14 | p | U+0070 | 70 | 0070 | \u0070 | Latin |
| 15 | а | U+0430 | D0 B0 | 0430 | \u0430 | Cyrillic |
| 16 | y | U+0079 | 79 | 0079 | \u0079 | Latin |
| 17 | p | U+0070 | 70 | 0070 | \u0070 | Latin |
| 18 | a | U+0061 | 61 | 0061 | \u0061 | Latin |
| 19 | l | U+006C | 6C | 006C | \u006C | Latin |
| 20 | " | U+0022 | 22 | 0022 | \u0022 | Common |
| 21 | ; | U+003B | 3B | 003B | \u003B | Common |
| 22 | ‹zero-width› | U+200B | E2 80 8B | 200B | \u200B | Zero-width |
| 23 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 24 | / | U+002F | 2F | 002F | \u002F | Common |
| 25 | / | U+002F | 2F | 002F | \u002F | Common |
| 26 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 27 | c | U+0063 | 63 | 0063 | \u0063 | Latin |
| 28 | o | U+006F | 6F | 006F | \u006F | Latin |
| 29 | n | U+006E | 6E | 006E | \u006E | Latin |
| 30 | t | U+0074 | 74 | 0074 | \u0074 | Latin |
| 31 | a | U+0061 | 61 | 0061 | \u0061 | Latin |
| 32 | i | U+0069 | 69 | 0069 | \u0069 | Latin |
| 33 | n | U+006E | 6E | 006E | \u006E | Latin |
| 34 | s | U+0073 | 73 | 0073 | \u0073 | Latin |
| 35 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 36 | C | U+0043 | 43 | 0043 | \u0043 | Latin |
| 37 | y | U+0079 | 79 | 0079 | \u0079 | Latin |
| 38 | r | U+0072 | 72 | 0072 | \u0072 | Latin |
| 39 | i | U+0069 | 69 | 0069 | \u0069 | Latin |
| 40 | l | U+006C | 6C | 006C | \u006C | Latin |
| 41 | l | U+006C | 6C | 006C | \u006C | Latin |
| 42 | i | U+0069 | 69 | 0069 | \u0069 | Latin |
| 43 | c | U+0063 | 63 | 0063 | \u0063 | Latin |
| 44 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 45 | а | U+0430 | D0 B0 | 0430 | \u0430 | Cyrillic |
| 46 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 47 | a | U+0061 | 61 | 0061 | \u0061 | Latin |
| 48 | n | U+006E | 6E | 006E | \u006E | Latin |
| 49 | d | U+0064 | 64 | 0064 | \u0064 | Latin |
| 50 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 51 | a | U+0061 | 61 | 0061 | \u0061 | Latin |
| 52 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 53 | z | U+007A | 7A | 007A | \u007A | Latin |
| 54 | e | U+0065 | 65 | 0065 | \u0065 | Latin |
| 55 | r | U+0072 | 72 | 0072 | \u0072 | Latin |
| 56 | o | U+006F | 6F | 006F | \u006F | Latin |
| 57 | - | U+002D | 2D | 002D | \u002D | Common |
| 58 | w | U+0077 | 77 | 0077 | \u0077 | Latin |
| 59 | i | U+0069 | 69 | 0069 | \u0069 | Latin |
| 60 | d | U+0064 | 64 | 0064 | \u0064 | Latin |
| 61 | t | U+0074 | 74 | 0074 | \u0074 | Latin |
| 62 | h | U+0068 | 68 | 0068 | \u0068 | Latin |
| 63 | ␠ | U+0020 | 20 | 0020 | \u0020 | Common |
| 64 | s | U+0073 | 73 | 0073 | \u0073 | Latin |
| 65 | p | U+0070 | 70 | 0070 | \u0070 | Latin |
| 66 | a | U+0061 | 61 | 0061 | \u0061 | Latin |
| 67 | c | U+0063 | 63 | 0063 | \u0063 | Latin |
| 68 | e | U+0065 | 65 | 0065 | \u0065 | Latin |
Inspection, normalization, and sanitization happen locally in your browser; text is never uploaded. Mixed-script warnings are heuristic and do not necessarily indicate malicious content.
Inspect zero-width characters, bidirectional controls, mixed scripts, encodings, and normalization risks. It requires no desktop installation and supports common developer workflows directly in a modern browser.
Core processing runs locally in your browser. Tool input is not uploaded; downloads and clipboard actions are handled by the browser.
Continue with the next step in the same workflow.
Safely compare text by line with case and whitespace options, line statistics, and unified Patch export
Accurately count multilingual graphemes, code points, UTF-8 bytes, words, sentences, reading time, and frequencies
Convert Unicode text and developer identifiers to camel, snake, constant, dot, path, and other naming styles
Debug JavaScript regexes with captures, locations, replacement previews, performance hints, and code export