Punycode конвертер

Переведёт домен на кириллице в xn-- и обратно

Исходный
Можно нажать Ctrl V или перетащить файл — результат появится справа
Пусто
Результат

Как пользоваться

  1. Вставьте домен, email или ссылку в поле «Исходный»: по одному значению на строку или целый список
  2. Направление выберется само: есть xn-- — перевод в кириллицу, есть русские буквы — в Punycode
  3. Справа появится список «было → стало»
  4. Скопируйте нужную строку или весь список разом

Примеры

Домен .рф в Punycode

Для настройки DNS, сервера или сертификата нужна запись из латиницы. Домен пример.рф превращается в xn--e1afmkfd.xn--p1ai: каждая часть между точками кодируется отдельно, а xn-- показывает, что дальше идёт закодированное имя. Зона .рф — это xn--p1ai.

пример.рф

Ссылка и email: меняется только хост

Если вставить ссылку или адрес почты, пути и параметры останутся как есть, а хост будет переведён. Ссылка https://пример.рф/путь?a=1 станет https://xn--e1afmkfd.xn--p1ai/путь?a=1, а в адресе иван@пример.рф кодируется только часть после знака @.

https://пример.рф/путь?a=1
иван@пример.рф

Список доменов в обе стороны

Вставьте несколько доменов столбцом: каждый получит свою строку в результате. Так же и обратно: xn--80asehdb превратится в «онлайн», xn--h1alffa9f.xn--p1ai в россия.рф.

россия.рф
почта.рф
xn--80adxhks

Что такое Punycode и зачем он нужен

Система доменных имён исторически хранит только латиницу, цифры и дефис. Чтобы в адресе можно было писать на других языках, придумали IDN, интернационализированные доменные имена. Каждая часть такого имени между точками (label) преобразуется в ASCII по алгоритму Punycode, который описан в RFC 3492, и получает префикс xn--. Правила для самих имён называются IDNA (RFC 5890–5894), а пошаговое соответствие, которому следуют браузеры, — UTS 46.

Для пользователя домен пример.рф и xn--e1afmkfd.xn--p1ai — один и тот же адрес. Браузер показывает первый вариант, а по сети уходит второй. Но в конфигурации веб-сервера, в записях DNS, в сертификатах и во многих API нужно писать именно вариант с xn--.

Сам алгоритм не просто транслитерирует буквы: он записывает ASCII-символы имени, а затем в сжатом виде добавляет позиции и коды остальных букв. Поэтому вручную переводить домены неудобно, а по результату, например xn--80asehdb, нельзя угадать слово.

Как перевести кириллический домен в Punycode

Вставьте домен в поле, и результат появится сразу. Каждая часть переводится отдельно, поэтому «Москва.рф» превратится в xn--80adxhks.xn--p1ai: прописные буквы приводятся к строчным, как это делают браузеры. Буква «ё» остаётся «ё» и не заменяется на «е», это разные буквы.

Если домен состоит только из латиницы, например example.com, он остаётся как есть. Если часть смешанная, как bücher.de, перевод получится вроде xn--bcher-kva.de: ASCII-часть осталась в начале, а закодированная идёт после дефиса.

Переводится только имя хоста. Протокол, порт, путь, параметры и якорь в ссылках остаются без изменений. В email меняется только часть домена после @: правила для части до @ другие, и этот инструмент её не трогает.

Из Punycode в кириллицу

Обратное направление нужно, когда вы видите в логе, письме или настройках что-то вроде xn--e1afmkfd.xn--p1ai и хотите понять, что это за домен. Вставьте строку, и получите читаемое имя. Если часть имени не начинается с xn--, она остаётся как есть. Если после xn-- стоит не корректная запись Punycode, мы покажем ошибку и место, где она найдена.

Часто домен приходится проверять на подозрительные признаки. Мошенники регистрируют домены, где латинские буквы заменены похожими на них буквами других алфавитов, и браузеры в таких случаях показывают адрес как xn--…, чтобы не обманывать. Перевод из Punycode позволяет увидеть настоящие символы.

Какие символы допустимы и ограничения

Перевод — это Punycode по RFC 3492 плюс два шага: буквы приводятся к нижнему регистру и к нормальной форме Unicode (NFC). Полной таблицы соответствий IDNA (UTS 46) мы не применяем: например, лигатуру fi браузер заменяет по ней на fi, а здесь она остаётся как есть. Недопустимые в имени хоста символы, например пробел или подчёркивание, мы не пропустим: в имени могут быть буквы, цифры и дефис не по краям части, а ошибка покажет сам символ и его позицию в строке.

У доменных имён есть ограничения длины: одна часть, то есть label, может быть не длиннее 63 символов, а всё имя целиком — 253. Эти пределы считаются в виде Punycode, поэтому длинное русское слово иногда не помещается: при записи в xn-- оно занимает больше места, чем в кириллице. Мы проверяем длину только у частей с xn--, которые переводим в кириллицу: слишком длинную часть покажем как ошибку. Длину при переводе в Punycode и общую длину имени не проверяем, это нужно сделать у регистратора.

Список доменов можно скопировать целиком кнопкой «Копировать всё» или построчно. Так удобно подготовить перечень для настройки DNS, списка зеркал или заявки регистратору.

Частые вопросы

Как перевести кириллический домен в Punycode

Вставьте домен в поле «Исходный». Если в строке русские буквы, включится направление «В Punycode», и справа появится вариант с xn--. Например, пример.рф станет xn--e1afmkfd.xn--p1ai.

Что такое xn--p1ai

Это домен верхнего уровня .рф в записи Punycode. Любой домен в зоне .рф в DNS записан с этим окончанием.

Зачем нужен Punycode, если браузер показывает кириллицу

DNS, сертификаты, конфигурации серверов и многие API принимают только ASCII. Браузер переводит адрес сам, а в настройках его нужно записывать вручную в виде xn--.

Можно ли перевести список доменов сразу

Да, вставьте их по одному на строку. Результат будет списком «было → стало», его можно скопировать целиком.

Почему не получается перевести домен с подчёркиванием или пробелом

Такие символы нельзя использовать в имени хоста: допустимы буквы, цифры и дефис. Мы покажем, какой символ мешает и в какой он позиции.

Переводится ли часть email до @

Нет, только домен после @. Перевод части до @ устроен иначе, и этот инструмент её не меняет.

Куда уходят мои данные

Никуда. Всё обрабатывается в браузере, а запросы на чужие адреса запрещены заголовком безопасности. Сайт загружает только свои страницы и файлы — это легко проверить во вкладке «Сеть» в инструментах разработчика.

Другие инструменты