Skip to main content

Detect homoglyphs in domains, usernames, and messages

A homoglyph is a character that looks like a different, more familiar one: Cyrillic а (U+0430) and Latin a (U+0061) are identical in most fonts but are different code points. The detector checks every character and lists each look-alike with its position, code point, Unicode script, and the character it imitates.

Worked example

Input
pаypаl.com / Αdmіn
Scripts found
Latin (Latn), Cyrillic (Cyrl), Greek (Grek)
Characters flagged
4
IndexCharacterCode pointScriptReplacementRule
1аU+0430CyrillicaConfusable map
4аU+0430CyrillicaConfusable map
13ΑU+0391GreekAConfusable map
16іU+0456CyrilliciConfusable map
Preserve Readable Unicode
paypal.com / Admin

How it works

  • Every character is checked against a bundled map of common Cyrillic, Greek, Latin-variant, and fullwidth look-alikes. A match is flagged together with the ASCII letter, digit, or punctuation mark it imitates.
  • Characters that are not in the map go through Unicode NFKC normalization. If NFKC changes them, as it does for fullwidth letters and ligatures such as fi, they are flagged as compatibility forms.
  • Positions count Unicode code points from 0. A word that mixes Latin letters with Cyrillic or Greek ones is a strong warning sign, because legitimate words rarely switch scripts halfway through.

Conversion is best-effort: mapped confusables and NFKC folding are deterministic, but some legitimate Unicode will not be flagged.

Your text

Paste or type — results update as you type (lightly debounced for long input).

18 characters scanned
4 suspicious
Preserve Readable Unicode
Conversion mode
Original (suspicious characters marked)

Suspicious characters in the original view are underlined and labeled “susp.” in addition to highlight color.

psuspicious character аypsuspicious character аl.com / suspicious character Αdmsuspicious character іn
Cleaned output
Character analysis
Index (0-based)OriginalReplacementCode pointReason
0ppU+0070Not flagged as a confusable or compatibility character.
1аaU+0430Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
2yyU+0079Not flagged as a confusable or compatibility character.
3ppU+0070Not flagged as a confusable or compatibility character.
4аaU+0430Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
5llU+006CNot flagged as a confusable or compatibility character.
6..U+002ENot flagged as a confusable or compatibility character.
7ccU+0063Not flagged as a confusable or compatibility character.
8ooU+006FNot flagged as a confusable or compatibility character.
9mmU+006DNot flagged as a confusable or compatibility character.
10 U+0020Not flagged as a confusable or compatibility character.
11//U+002FNot flagged as a confusable or compatibility character.
12 U+0020Not flagged as a confusable or compatibility character.
13ΑAU+0391Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
14ddU+0064Not flagged as a confusable or compatibility character.
15mmU+006DNot flagged as a confusable or compatibility character.
16іiU+0456Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
17nnU+006ENot flagged as a confusable or compatibility character.

More guides