Skip to content
shellhacks.dev

Homoglyph Detector

Detect lookalike characters such as Cyrillic а in pаypal.com, invisible zero-width and bidirectional control characters, and mixed scripts in domains and usernames.

Free · No sign-up · Your inputs stay in your browser

Input

Detect lookalike characters (homoglyphs)

Output

4 of 5 suspicious

InputScriptsLookalikes and invisiblesVerdict
pаypal.comLatin + Cyrillicа U+0430looks like "paypal.com"
аpple.comCyrillic + Latinа U+0430looks like "apple.com"
google.comLatin-ok
admin​@example.comLatin + Other​ U+200Blooks like "[email protected]"
microsоft-support.comLatin + Cyrillicо U+043Elooks like "microsoft-support.com"

Cyrillic а and Latin a render identically, so pаypal.com can be a different domain from paypal.com; invisible characters such as the zero-width space and the right-to-left override change what a string is without changing how it looks. Unicode Technical Standard #39 defines the full confusables list; this checks the common Cyrillic and Greek lookalikes, full-width digits and invisible characters. Browsers show such domains as punycode (xn--) to defend against this.

Runs in this browser. Nothing you paste is sent to a server.

Same pixels, different string

Cyrillic а (U+0430) and Latin a (U+0061) look identical in most fonts, so pаypal.com can be registered as a different domain from paypal.com and used for phishing. Usernames, package names and source code have the same problem; the Trojan Source research showed bidirectional controls hiding code from reviewers. Unicode Technical Standard 39 defines confusable detection.

Defences

Browsers show suspicious internationalised domains as punycode (xn--). For usernames, normalise with NFKC and reject mixed-script identifiers or map them to a skeleton before checking uniqueness.

Share

Frequently asked questions

How do I see the real characters in a string?
Paste it here or into the Unicode inspector, which lists every code point. Lookalikes show a different script and code point.
Are internationalised domain names dangerous?
No, they are legitimate and important for non-Latin languages. The risk is mixing scripts to imitate another domain, which browsers and registries guard against.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Go deeper

Suggested reading

Keep planning

Similar tools