DNS создавался для букв от a до z, цифр и дефиса. Чтобы поддержать другие письменности, не меняя программное обеспечение DNS, стандарт IDNA определяет преобразование: каждая метка с символами вне ASCII нормализуется и кодируется в Punycode, и к ней добавляется префикс xn--. Форму в Unicode (U-label) читают люди; форма с xn-- (A-label) — это то, что регистрируется, запрашивается и вписывается в сертификаты.
Какие символы разрешены, определяется для каждого TLD отдельно: каждый реестр публикует IDN-таблицы с допустимыми кодовыми точками, и многие объединяют или блокируют варианты, которые можно спутать друг с другом. Так, кириллические имена регистрируются в .рф, но не в .ru, а имя с турецкими буквами может быть доступно в .com.tr и .com, но не в зоне, таблицы которой этих букв не содержат.
Поскольку в разных письменностях есть похожие буквы, IDN могут использоваться для омографических атак, когда имя выглядит как известный бренд, но содержит другой символ. Поэтому браузеры показывают форму с xn--, когда метка подозрительно смешивает письменности. Электронная почта с доменами вне ASCII поддерживается менее последовательно, чем веб, и это стоит проверить, прежде чем полагаться на IDN для почты.
Пример
bücher.example → xn--bcher-kva.example
çiçek.example → xn--iek-1lab.example