Reveal hidden and confusing characters in text: zero-width spaces, BOM, bidirectional overrides (Trojan Source), homoglyphs, non-breaking spaces, smart quotes, and control characters. Shows code points, UTF-8/UTF-16 bytes, length metrics, and cleans or escapes the text.
Findings
Can visually reorder text (Trojan Source, CVE-2021-42574). Dangerous in source code and filenames.
Cyrillic/Greek/fullwidth letters that look like Latin. Common in phishing domains and spoofed identifiers.
Invisible characters that break string equality, search, and copy-paste of code or passwords.
U+FEFF often breaks shebangs, JSON/CSV parsers, and shell scripts when it appears at the start of a file.
No-break, thin, em, ideographic and other spaces that look like a normal space but are not.
Curly quotes, en/em dashes, ellipsis โ usually from word processors. Breaks code and shell commands.
1 LF, 1 CRLF, 0 CR.
Spaces or tabs at the end of lines.
Visually identical text may compare unequal (e.g. รฉ as e + combining accent).
Text mixes Latin, Cyrillic โ a common sign of homoglyph spoofing.
password = โs3crะตtโ โ cafรฉ evil.exe ๐ฉ๐ฝโ๐ป next line
\uFEFFpassword\u200B = \u201Cs3cr\u0435t\u201D\u00A0\u2014 cafe\u0301 \u202Eevil.exe\u202C \u{1F469}\u{1F3FD}\u200D\u{1F4BB}\r\nnext line \nCode Points
| # | Char | Code Point | Name / Category | UTF-8 | UTF-16 |
|---|---|---|---|---|---|
| 0 | [FEFF] | U+FEFF | ZERO WIDTH NO-BREAK SPACE (BOM) | EF BB BF | FEFF |
| 1 | p | U+0070 | LATIN SMALL LETTER P | 70 | 0070 |
| 2 | a | U+0061 | LATIN SMALL LETTER A | 61 | 0061 |
| 3 | s | U+0073 | LATIN SMALL LETTER S | 73 | 0073 |
| 4 | s | U+0073 | LATIN SMALL LETTER S | 73 | 0073 |
| 5 | w | U+0077 | LATIN SMALL LETTER W | 77 | 0077 |
| 6 | o | U+006F | LATIN SMALL LETTER O | 6F | 006F |
| 7 | r | U+0072 | LATIN SMALL LETTER R | 72 | 0072 |
| 8 | d | U+0064 | LATIN SMALL LETTER D | 64 | 0064 |
| 9 | [200B] | U+200B | ZERO WIDTH SPACE | E2 80 8B | 200B |
| 10 | ยท | U+0020 | SPACE | 20 | 0020 |
| 11 | = | U+003D | symbol | 3D | 003D |
| 12 | ยท | U+0020 | SPACE | 20 | 0020 |
| 13 | โ | U+201C | LEFT DOUBLE QUOTATION MARK | E2 80 9C | 201C |
| 14 | s | U+0073 | LATIN SMALL LETTER S | 73 | 0073 |
| 15 | 3 | U+0033 | DIGIT 3 | 33 | 0033 |
| 16 | c | U+0063 | LATIN SMALL LETTER C | 63 | 0063 |
| 17 | r | U+0072 | LATIN SMALL LETTER R | 72 | 0072 |
| 18 | ะต | U+0435 | CYRILLIC LETTER (looks like Latin "e") | D0 B5 | 0435 |
| 19 | t | U+0074 | LATIN SMALL LETTER T | 74 | 0074 |
| 20 | โ | U+201D | RIGHT DOUBLE QUOTATION MARK | E2 80 9D | 201D |
| 21 | [00A0] | U+00A0 | NO-BREAK SPACE | C2 A0 | 00A0 |
| 22 | โ | U+2014 | EM DASH | E2 80 94 | 2014 |
| 23 | ยท | U+0020 | SPACE | 20 | 0020 |
| 24 | c | U+0063 | LATIN SMALL LETTER C | 63 | 0063 |
| 25 | a | U+0061 | LATIN SMALL LETTER A | 61 | 0061 |
| 26 | f | U+0066 | LATIN SMALL LETTER F | 66 | 0066 |
| 27 | e | U+0065 | LATIN SMALL LETTER E | 65 | 0065 |
| 28 | โฬ | U+0301 | combining | CC 81 | 0301 |
| 29 | ยท | U+0020 | SPACE | 20 | 0020 |
| 30 | [202E] | U+202E | RIGHT-TO-LEFT OVERRIDE | E2 80 AE | 202E |
| 31 | e | U+0065 | LATIN SMALL LETTER E | 65 | 0065 |
| 32 | v | U+0076 | LATIN SMALL LETTER V | 76 | 0076 |
| 33 | i | U+0069 | LATIN SMALL LETTER I | 69 | 0069 |
| 34 | l | U+006C | LATIN SMALL LETTER L | 6C | 006C |
| 35 | . | U+002E | punctuation | 2E | 002E |
| 36 | e | U+0065 | LATIN SMALL LETTER E | 65 | 0065 |
| 37 | x | U+0078 | LATIN SMALL LETTER X | 78 | 0078 |
| 38 | e | U+0065 | LATIN SMALL LETTER E | 65 | 0065 |
| 39 | [202C] | U+202C | POP DIRECTIONAL FORMATTING | E2 80 AC | 202C |
| 40 | ยท | U+0020 | SPACE | 20 | 0020 |
| 41 | ๐ฉ | U+1F469 | emoji | F0 9F 91 A9 | D83D DC69 |
| 42 | ๐ฝ | U+1F3FD | symbol | F0 9F 8F BD | D83C DFFD |
| 43 | [200D] | U+200D | ZERO WIDTH JOINER | E2 80 8D | 200D |
| 44 | ๐ป | U+1F4BB | emoji | F0 9F 92 BB | D83D DCBB |
| 45 | โ | U+000D | CARRIAGE RETURN (CR) | 0D | 000D |
| 46 | โต | U+000A | LINE FEED (LF) | 0A | 000A |
| 47 | n | U+006E | LATIN SMALL LETTER N | 6E | 006E |
| 48 | e | U+0065 | LATIN SMALL LETTER E | 65 | 0065 |
| 49 | x | U+0078 | LATIN SMALL LETTER X | 78 | 0078 |
| 50 | t | U+0074 | LATIN SMALL LETTER T | 74 | 0074 |
| 51 | ยท | U+0020 | SPACE | 20 | 0020 |
| 52 | l | U+006C | LATIN SMALL LETTER L | 6C | 006C |
| 53 | i | U+0069 | LATIN SMALL LETTER I | 69 | 0069 |
| 54 | n | U+006E | LATIN SMALL LETTER N | 6E | 006E |
| 55 | e | U+0065 | LATIN SMALL LETTER E | 65 | 0065 |
| 56 | ยท | U+0020 | SPACE | 20 | 0020 |
| 57 | โต | U+000A | LINE FEED (LF) | 0A | 000A |