Le DNS a été conçu pour les lettres de a à z, les chiffres et le tiret. Pour prendre en charge d'autres écritures sans changer les logiciels DNS, IDNA définit une conversion : chaque étiquette comportant des caractères non ASCII est normalisée et encodée en Punycode, puis le préfixe xn-- lui est ajouté. La forme Unicode (le U-label) est celle que lisent les gens ; la forme xn-- (le A-label) est celle qui est enregistrée, interrogée et inscrite dans les certificats.
Les caractères autorisés sont définis TLD par TLD : chaque registre publie des tables IDN qui listent les points de code permis, et beaucoup regroupent ou bloquent les variantes susceptibles d'être confondues. Un nom avec des lettres accentuées françaises peut ainsi être enregistrable en .fr et en .com, mais pas sous un TLD dont les tables n'incluent pas ces lettres.
Comme des écritures différentes contiennent des lettres qui se ressemblent, les IDN peuvent être détournés pour des attaques par homographe, où un nom ressemble à une marque connue mais utilise un caractère différent. Les navigateurs affichent donc la forme xn-- lorsqu'une étiquette mélange les écritures de façon suspecte. L'e-mail avec des domaines non ASCII est pris en charge de façon moins homogène que le web ; mieux vaut tester avant de compter sur un IDN pour la messagerie.
Exemple
bücher.example → xn--bcher-kva.example
çiçek.example → xn--iek-1lab.example