Кодирование
Punycode encode/decode
Кодирование доменных имён с юникод-символами (IDN) в ASCII-совместимый формат Punycode (xn--) и обратно.
Система DNS исторически поддерживает только ASCII-символы, поэтому доменные имена с кириллицей, иероглифами или другими не-ASCII символами (IDN) кодируются в Punycode — ASCII-совместимую запись с префиксом xn--. Инструмент кодирует и декодирует такие домены.
Как пользоваться
- Кодирование: введите домен с кириллицей или другими юникод-символами (например, пример.рф) — получите ASCII-версию в формате xn--....
- Декодирование: вставьте домен в формате xn--..., чтобы увидеть оригинальные символы.
- Работает как с отдельными метками домена, так и с полным доменным именем с несколькими уровнями.
Типичные сценарии
- Проверка, какой реальный домен скрывается за непонятной строкой xn--... в письме или ссылке.
- Регистрация или настройка DNS для домена с национальными символами, когда регистратор требует ASCII-запись.
- Распознавание попытки homograph-атаки — домена, визуально имитирующего известный бренд символами из другого алфавита.
Что стоит помнить
Похожие визуально символы из разных алфавитов (например, кириллическая «а» и латинская «a») могут образовывать домен, выглядящий идентично известному бренду, — это основа homograph-фишинга.
Не все браузеры показывают декодированный Unicode одинаково: при смешении алфавитов в метке домена браузер часто намеренно показывает сырую xn---запись как предостережение.
Статья об этом инструменте: Punycode: как домены с кириллицей работают в DNS
Часто задаваемые вопросы
Зачем нужен Punycode?
DNS изначально поддерживает только ASCII, поэтому доменные имена с не-латинскими символами (кириллица, иероглифы, умляуты и т.д.) кодируются в Punycode — ASCII-совместимую строку с префиксом xn--, которую понимают все DNS-серверы.
При чём тут риск фишинга?
IDN-домены позволяют подобрать символы из разных алфавитов, визуально неотличимые от привычных букв (например, кириллическую «а» вместо латинской), и зарегистрировать домен-двойник для известного сайта. Такая атака называется homograph-спуфингом, и именно поэтому браузеры иногда показывают домен в виде xn-- вместо юникод-варианта.
Домены, которые я ввожу, куда-то отправляются?
Нет, кодирование и декодирование Punycode происходят полностью в браузере, без запросов к серверу.
Как распознать, что ссылка использует Punycode?
Закодированный домен всегда имеет префикс xn-- перед каждой меткой, содержащей не-ASCII символы. Если в адресной строке или письме видите домен, начинающийся на xn--, это признак IDN — стоит проверить, какой текст скрывается за кодированием.
Все ли браузеры показывают кириллицу в адресной строке одинаково?
Нет. Некоторые браузеры показывают декодированный Unicode только если все символы домена принадлежат одному алфавиту, а при смешении алфавитов (признак homograph-атаки) намеренно показывают сырую xn---запись вместо оригинальных символов.