Skip to content
gohacks.dev
Security

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.

Keep planning

Similar tools