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.
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- p
U+0070 - а
U+0430 - y
U+0079 - p
U+0070 - а
U+0430 - l
U+006C
The two а characters are Cyrillic U+0430.
scopeѕсоре- ѕ
U+0455 - с
U+0441 - о
U+043E - р
U+0440 - е
U+0435
A whole Cyrillic string can resemble a Latin word.
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.
No matching pairs.
| Pair | Cyrillic | Latin | Group | Context |
|---|---|---|---|---|
А≠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. |
Treat unexpected script mixing as a signal
Visual comparison is not enough. Inspect Unicode values or script properties when a domain, login, filename, or identifier is suspicious.
For security-sensitive identifiers, prefer one expected script and flag unexpected Cyrillic–Latin mixing.
Legitimate multilingual text can mix scripts. Automatic replacement may corrupt names, quotations, formulas, or source code.
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.
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.
Continue working with text
Copy a symbol, convert markup, clean a fragment, or keep the result in the notebook.
- Encode HTML entities Turn special characters into safe HTML entities or decode them back.
- Convert Markdown to HTML Prepare HTML markup from a Markdown draft.
- Remove HTML tags Keep readable text and discard markup.
- Change text case Convert letters to upper or lower case.
- Open the online notebook Use copied symbols in a note stored locally in your browser.