1001Ferramentas
🌐Conversores

Punycode IDN

Converta um domínio internacional (IDN) para a forma Punycode (xn--) que o DNS usa. Útil para registrar domínios com acento e comparar endereços parecidos.

Punycode

Por que um domínio com acento vira xn--

O DNS foi desenhado quando ninguém imaginava domínio em japonês ou em russo. Ele só entende letras ASCII, números e hífen. Para que "café.com.br" funcione mesmo assim, existe o IDNA: antes de sair pela rede, o nome é traduzido para uma forma ASCII equivalente, sempre começada por xn--. É por isso que café.com.br vira xn--caf-dma.com.br e ПРИМЕР.РФ vira xn--e1afmkfd.xn--p1ai.

Aqui você digita o domínio do jeito que ele aparece para uma pessoa e recebe a forma que o servidor de nomes realmente usa. A conversão é feita pelo próprio navegador, com a mesma implementação de IDNA que ele aplica quando você digita o endereço na barra — inclusive a normalização, que baixa maiúsculas e resolve caracteres equivalentes antes de codificar. Cada rótulo entre pontos é codificado separadamente, e os que já são ASCII passam intactos.

O caminho aqui é de mão única: colar um xn-- devolve o mesmo xn--, porque essa já é a forma ASCII. Onde isso resolve problema de verdade é no preenchimento de campos que não aceitam acento — SAN de certificado, registro de zona, allowlist de firewall, configuração de SPF — e na conferência de domínios parecidos, já que dois nomes visualmente idênticos podem ter formas punycode completamente diferentes.

Perguntas frequentes

Dá para converter de xn-- de volta para o nome com acento?
Não por esta página. Ela usa o parser de URL do navegador, que devolve sempre a forma ASCII: se a entrada já é punycode, a saída é igual à entrada. Para ler um xn-- você precisa de um decodificador punycode, ou pode simplesmente colar o domínio na barra de endereços do navegador, que mostra o nome legível quando o registro é considerado seguro.
Por que o resultado veio em minúsculas?
Porque a normalização faz parte do processo. O DNS não diferencia maiúscula de minúscula, e o IDNA aplica um mapeamento (UTS-46) antes de codificar. ПРИМЕР e пример produzem o mesmo xn--e1afmkfd, o que é exatamente o comportamento desejado: os dois apontam para o mesmo registro.
Isso serve para detectar domínio falso?
Ajuda, mas não decide sozinho. Um ataque de homógrafo usa letras de outro alfabeto que parecem latinas — o "а" cirílico no lugar do "a". Na tela os dois nomes ficam iguais; em punycode, o falso aparece com xn-- e o verdadeiro não. Comparar as duas formas expõe a diferença, mas a decisão final depende de olhar o registro e o certificado.

Ferramentas Relacionadas