Domaines, e-mails ou URL
Convertissez des noms de domaine internationalisés (IDN) entre leur forme Unicode, comme ñandú.com.ar, et la forme ASCII en Punycode utilisée par le DNS, comme xn--and-6ma2c.com.ar. Le sens est détecté automatiquement, les adresses e-mail et URL complètes sont acceptées, et vous êtes averti lorsqu'un domaine mélange des écritures pour se faire passer pour un autre.
Jusqu'à 500 lignes. Pour les e-mails, seul le domaine est converti, et pour les URL, seul l'hôte.
Résultat
Unicode → ASCII
Unicodeñandú.com.ar
ASCIIxn--and-6ma2c.com.ar
ñandúxn--and-6ma2c13 · Latin
ASCII → Unicode
Unicodemünchen.de
ASCIIxn--mnchen-3ya.de
münchenxn--mnchen-3ya14 · Latin
Unicode → ASCIIE-mail
Unicodecontacto@correo.españa.es
ASCIIcontacto@correo.xn--espaa-rta.es
españaxn--espaa-rta13 · Latin
Unicode → ASCIIURL
Unicodehttps://日本語.jp/ページ
ASCIIhttps://xn--wgv71a119e.jp/%E3%83%9A%E3%83%BC%E3%82%B8
日本語xn--wgv71a119e14 · Han
Unicode → ASCII
Unicodeаррӏе.com
ASCIIxn--80ak6aa92e.com
аррӏеxn--80ak6aa92e14 · Cyrillic

Le label est entièrement écrit avec des lettres cyrilliques ou grecques identiques à des lettres latines. Il peut usurper un domaine connu : vérifiez la forme xn-- avant de faire confiance au lien.

Punycode sans préfixe (RFC 3492)

Encodez ou décodez n'importe quel texte avec l'algorithme Punycode pur, sans le préfixe xn-- ni la normalisation des domaines. Utile pour déboguer votre propre implémentation.

Résultatmaana-pta

Comment ça marche

Le DNS n'accepte que les lettres ASCII, les chiffres et les tirets : un domaine comme ñandú.com.ar ne peut donc pas circuler tel quel. Les noms de domaine internationalisés (IDN) résolvent ce problème avec Punycode (RFC 3492) : chaque label contenant des caractères hors ASCII est encodé par un algorithme qui conserve les lettres courantes et ajoute à la fin la position des caractères spéciaux, puis reçoit le préfixe xn--. C'est ainsi que ñandú devient xn--and-6ma2c.

Avant l'encodage, IDNA normalise le nom : il le passe en minuscules, unifie les formes Unicode et convertit les points alternatifs comme le 。 japonais. Cet outil utilise le même mappage (UTS #46) que celui appliqué par le navigateur à l'ouverture d'une adresse, si bien que le résultat correspond à ce qui est finalement demandé au DNS. Pour les e-mails, il ne convertit que le domaine, et pour les URL, que l'hôte.

Il détaille aussi chaque label avec sa longueur et les écritures qu'il utilise, et vous avertit lorsqu'un domaine mélange des alphabets ou est écrit avec des lettres cyrilliques ou grecques identiques aux latines : c'est le principe des attaques homographes, où un lien semble provenir d'un site connu.

Exemples

ñandú.com.arxn--and-6ma2c.com.arSeul le label contenant des caractères spéciaux change ; com et ar restent identiques. C'est la forme à saisir dans le DNS et dans les SAN d'un certificat.
faß.dexn--fa-hia.deAvec IDNA2008, le ß allemand est une lettre valide et il est encodé. Avec l'ancienne norme, il devenait ss et pointait vers fass.de, un domaine différent : c'est pourquoi certains systèmes anciens résolvent autre chose.
аррӏе.comxn--80ak6aa92e.comL'homographe publié par Xudong Zheng en 2017 : cinq lettres cyrilliques qui ressemblent exactement à apple. Depuis, Chrome et Firefox affichent ce type de domaine sous sa forme xn--.
пример.рфxn--e1afmkfd.xn--p1aiLes domaines de premier niveau peuvent eux aussi être internationalisés : .рф est celui de la Russie en cyrillique et s'écrit xn--p1ai dans le DNS.

Cas d'usage

  • Obtenir la forme xn-- d'un domaine avec accents ou caractères spéciaux pour créer des enregistrements DNS, configurer nginx ou Apache ou renseigner les SAN d'un certificat.
  • Comprendre quel domaine réel se cache derrière un xn-- qui apparaît dans un journal, un signalement de phishing ou la barre d'adresse du navigateur.
  • Examiner un lien suspect pour détecter des lettres cyrilliques ou grecques qui imitent les lettres latines.
  • Convertir le domaine d'une adresse e-mail internationalisée pour un serveur qui ne prend pas en charge SMTPUTF8.
  • Vérifier qu'un domaine international ne dépasse pas 63 caractères par label une fois encodé.

Questions fréquentes

Que signifie le préfixe xn-- ?

C'est le préfixe ACE (ASCII Compatible Encoding), qui indique que le label est en Punycode. Les labels comportant des tirets en troisième et quatrième positions ont été réservés à ces préfixes : les registres n'autorisent donc pas un domaine commençant par xn-- s'il ne s'agit pas d'un IDN valide.

Quelle forme utiliser dans le DNS, sur le serveur web et dans le certificat ?

La forme ASCII, avec xn--, à tous les endroits techniques : enregistrements DNS, server_name de nginx, ServerName d'Apache, SAN du certificat et en-têtes Host. La forme Unicode sert uniquement à l'affichage pour les personnes ; les navigateurs la convertissent avant d'effectuer la requête.

Qu'est-ce qu'une attaque homographe ?

Elle consiste à enregistrer un domaine qui ressemble à s'y méprendre à un autre en utilisant des lettres d'un autre alphabet, comme le a cyrillique à la place du a latin. Les navigateurs affichent la forme xn-- lorsqu'un label mélange des écritures ou ressemble à un domaine connu. Si un lien semble normal mais que sa forme ASCII commence par xn--, méfiez-vous.

Peut-on utiliser des accents dans une adresse e-mail ?

Dans le domaine, oui, et il peut être converti en xn-- pour n'importe quel serveur. La partie avant l'arobase, c'est une autre histoire : avec des caractères non ASCII, elle exige que tous les serveurs du parcours prennent en charge SMTPUTF8 (RFC 6531), et elle n'a pas de forme Punycode équivalente.

Pourquoi mon domaine en majuscules a-t-il changé ?

Les noms de domaine ne sont pas sensibles à la casse, et IDNA passe tout en minuscules avant l'encodage : MÜNCHEN.de et münchen.de sont le même domaine, xn--mnchen-3ya.de. Punycode pur, en revanche, conserve les majuscules : c'est pourquoi le convertisseur sans préfixe donne des résultats différents.