Кодирование
Punycode encode/decode
Кодирование доменных имён с юникод-символами (IDN) в ASCII-совместимый формат Punycode (xn--) и обратно.
The DNS system historically only supports ASCII characters, so domain names with Cyrillic, CJK, or other non-ASCII characters (IDN) are encoded as Punycode — an ASCII-compatible form prefixed with xn--. This tool encodes and decodes such domains.
How to use it
- Encode: enter a domain with Cyrillic or other Unicode characters (e.g. пример.рф) to get its ASCII form as xn--....
- Decode: paste a domain in xn--... form to see the original characters.
- Works on both a single domain label and a full multi-level domain name.
Common uses
- Checking what real domain is hiding behind a confusing xn--... string in an email or link.
- Registering or setting up DNS for a domain with national characters when the registrar requires an ASCII form.
- Spotting a homograph attack — a domain visually mimicking a known brand using characters from a different script.
Things to keep in mind
Visually similar characters from different scripts (like Cyrillic "а" and Latin "a") can form a domain that looks identical to a known brand — this is the basis of homograph phishing.
Not every browser shows decoded Unicode the same way: when a domain label mixes scripts, browsers often deliberately show the raw xn-- form as a warning sign.
Статья об этом инструменте: Punycode: как домены с кириллицей работают в DNS
Часто задаваемые вопросы
Зачем нужен Punycode?
DNS изначально поддерживает только ASCII, поэтому доменные имена с не-латинскими символами (кириллица, иероглифы, умляуты и т.д.) кодируются в Punycode — ASCII-совместимую строку с префиксом xn--, которую понимают все DNS-серверы.
При чём тут риск фишинга?
IDN-домены позволяют подобрать символы из разных алфавитов, визуально неотличимые от привычных букв (например, кириллическую «а» вместо латинской), и зарегистрировать домен-двойник для известного сайта. Такая атака называется homograph-спуфингом, и именно поэтому браузеры иногда показывают домен в виде xn-- вместо юникод-варианта.
Домены, которые я ввожу, куда-то отправляются?
Нет, кодирование и декодирование Punycode происходят полностью в браузере, без запросов к серверу.
Как распознать, что ссылка использует Punycode?
Закодированный домен всегда имеет префикс xn-- перед каждой меткой, содержащей не-ASCII символы. Если в адресной строке или письме видите домен, начинающийся на xn--, это признак IDN — стоит проверить, какой текст скрывается за кодированием.
Все ли браузеры показывают кириллицу в адресной строке одинаково?
Нет. Некоторые браузеры показывают декодированный Unicode только если все символы домена принадлежат одному алфавиту, а при смешении алфавитов (признак homograph-атаки) намеренно показывают сырую xn---запись вместо оригинальных символов.