Reference library

Confusable Cyrillic and Latin characters

Visually similar letters from different scripts with Cyrillic–Latin pairs, Unicode code points, mixed-script examples, and spoof-checking guidance.

24 pairs
Common pairs24Cyrillic ↔ Latin comparisons
ScriptsCyrl ≠ Latnsimilar glyphs, different characters
CheckU+XXXXcode points reveal the difference
Unicode UTS #39

Same appearance does not mean same text

Fonts can make characters from different scripts look identical or merely similar. Search, equality checks, domains, and source code still treat their code points as different.

paypalpаypаl
  1. pU+0070
  2. аU+0430
  3. yU+0079
  4. pU+0070
  5. аU+0430
  6. lU+006C

The two а characters are Cyrillic U+0430.

scopeѕсоре
  1. ѕU+0455
  2. сU+0441
  3. оU+043E
  4. рU+0440
  5. еU+0435

A whole Cyrillic string can resemble a Latin word.

Cyrl ↔ Latn

Cyrillic and Latin look-alikes

The table focuses on common Cyrillic letters that can resemble basic Latin in typical interface fonts. Exact similarity depends on the font and style.

Visually confusable Cyrillic and Latin letters
PairCyrillicLatinGroupContext
АA
U+0410
U+0041
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
ВB
U+0412
U+0042
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
ЕE
U+0415
U+0045
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
КK
U+041A
U+004B
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
МM
U+041C
U+004D
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
НH
U+041D
U+0048
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
ОO
U+041E
U+004F
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
РP
U+0420
U+0050
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
СC
U+0421
U+0043
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
ТT
U+0422
U+0054
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
ХX
U+0425
U+0058
Russian uppercase Russian uppercase letter; especially relevant in logos and identifiers.
аa
U+0430
U+0061
Russian lowercase Russian lowercase letter; a common substitution inside domains, usernames, and code.
еe
U+0435
U+0065
Russian lowercase Russian lowercase letter; a common substitution inside domains, usernames, and code.
оo
U+043E
U+006F
Russian lowercase Russian lowercase letter; a common substitution inside domains, usernames, and code.
рp
U+0440
U+0070
Russian lowercase Russian lowercase letter; a common substitution inside domains, usernames, and code.
сc
U+0441
U+0063
Russian lowercase Russian lowercase letter; a common substitution inside domains, usernames, and code.
уy
U+0443
U+0079
Russian lowercase Russian lowercase letter; a common substitution inside domains, usernames, and code.
хx
U+0445
U+0078
Russian lowercase Russian lowercase letter; a common substitution inside domains, usernames, and code.
ІI
U+0406
U+0049
Additional Cyrillic A letter used in Ukrainian, Belarusian, Serbian, or Macedonian Cyrillic.
іi
U+0456
U+0069
Additional Cyrillic A letter used in Ukrainian, Belarusian, Serbian, or Macedonian Cyrillic.
ЈJ
U+0408
U+004A
Additional Cyrillic A letter used in Ukrainian, Belarusian, Serbian, or Macedonian Cyrillic.
јj
U+0458
U+006A
Additional Cyrillic A letter used in Ukrainian, Belarusian, Serbian, or Macedonian Cyrillic.
ЅS
U+0405
U+0053
Additional Cyrillic A letter used in Ukrainian, Belarusian, Serbian, or Macedonian Cyrillic.
ѕs
U+0455
U+0073
Additional Cyrillic A letter used in Ukrainian, Belarusian, Serbian, or Macedonian Cyrillic.
Identifiers and domains

Treat unexpected script mixing as a signal

Compare code points

Visual comparison is not enough. Inspect Unicode values or script properties when a domain, login, filename, or identifier is suspicious.

Restrict identifier scripts

For security-sensitive identifiers, prefer one expected script and flag unexpected Cyrillic–Latin mixing.

Do not auto-replace prose

Legitimate multilingual text can mix scripts. Automatic replacement may corrupt names, quotations, formulas, or source code.

Important limitation

This compact table is a human reference, not a complete spoof detector. Unicode confusable data includes many scripts, multi-character mappings, normalization, and font-dependent cases; production checks should implement UTS #39 or a maintained library.

Unicode

Specification and data

Unicode Technical Standard #39 defines confusable detection and mixed-script checks. Its machine-readable confusables file is versioned and can evolve, so security tooling should track a specific Unicode release.

Related tools

Continue working with text

Copy a symbol, convert markup, clean a fragment, or keep the result in the notebook.