Como usar o conversor de Punycode
- Cole um ou mais nomes de domínio, endereços de e-mail ou URLs, um por linha. A caixa começa com alguns exemplos para você ver como funciona.
- Os resultados aparecem na hora, linha por linha. A opção Automática olha cada linha: se ela tem um rótulo
xn--, é decodificada para Unicode; se não, é codificada em Punycode. Escolha Para Punycode ou Para Unicode para forçar um sentido. - Clique em Copiar ao lado de um resultado, em Copiar todos os resultados para a lista inteira ou em Baixar .txt.
A conversão roda no seu navegador e nada é enviado a um servidor, então você pode colar sem problema listas de domínios com os quais está trabalhando. As linhas que não podem ser convertidas são marcadas com o motivo, por exemplo um rótulo vazio ou um rótulo que não é Punycode válido.
O que é Punycode e por que os domínios o usam
O sistema de nomes de domínio foi projetado para as letras de a a z, os dígitos de 0 a 9 e o hífen. Para permitir nomes em outros idiomas e com acentos, como pão.com, münchen.de, 例え.テスト ou ☃.net, foram criados os nomes de domínio internacionalizados (IDN). Cada rótulo que tem outros caracteres é transformado em ASCII simples com o algoritmo Punycode (RFC 3492) e recebe o prefixo xn--. O navegador mostra a forma legível, mas a rede e o DNS só veem a forma xn--.
O Punycode funciona rótulo por rótulo: em pão.com só pão é codificado (vira xn--po-sia); o ponto e o com ficam. As letras ASCII do rótulo são mantidas no começo e as posições e os valores dos outros caracteres são escritos depois de um hífen, e por isso muitas vezes dá para adivinhar a palavra em xn--bcher-kva (“bcher”, Bücher).
Exemplos práticos
pão.com→xn--po-sia.comcafé.com.br→xn--caf-dma.com.br例え.テスト→xn--r8jz45g.xn--zckzah(os dois rótulos são codificados)☃.net→xn--n3h.net(um boneco de neve) e😀.com→xn--e28h.com(um domínio com emoji)josé@münchen.de→josé@xn--mnchen-3ya.de(só a parte do domínio de um e-mail muda)https://münchen.de:8080/straße?q=ü→https://xn--mnchen-3ya.de:8080/straße?q=ü(só o nome do host muda)
Segurança: domínios parecidos
Letras de alfabetos diferentes podem ser idênticas à vista. O а cirílico é visualmente igual ao a latino, então um domínio como аpple.com, escrito com uma primeira letra cirílica, é um domínio diferente de apple.com. Isso se chama ataque homógrafo e é usado em phishing. Quando um domínio Punycode é decodificado, o conversor confere cada rótulo e mostra um aviso se ele mistura letras latinas com cirílicas ou gregas. A forma xn-- é útil justamente por isso: ela deixa a diferença visível. Se um e-mail ou um link levar você a um site que você acha que conhece, confira antes a forma xn-- dele.
Limites, regras e dicas
- Tamanho. Um rótulo pode ter no máximo 63 caracteres e um domínio inteiro 253, contados depois da conversão e incluindo o prefixo
xn--. Entradas maiores são sinalizadas como erro. - Maiúsculas e normalização. O texto é normalizado (NFC) e passado para minúsculas antes de ser codificado, então
MÜNCHENemünchendão o mesmo resultado. - Registrar um domínio. Cada registro de domínios (por exemplo, o do .br) tem suas próprias regras sobre quais caracteres e alfabetos aceita e aplica o padrão IDNA completo. Confirme sempre a forma final com o seu registrador.
- Decodificar um rótulo inválido. Rótulos que começam com
xn--mas não são Punycode correto são sinalizados em vez de adivinhados. - Listas grandes. Um item por linha; linhas em branco são ignoradas, e listas mistas de nomes Unicode e Punycode são convertidas corretamente na opção Automática.
Perguntas frequentes
O que é Punycode?
Punycode é uma forma de escrever qualquer texto Unicode usando só as letras a–z, os dígitos e os hifens. Os nomes de domínio internacionalizados (como pão.com ou münchen.de) são guardados no DNS como rótulos Punycode que começam com xn--, por exemplo xn--po-sia.com.
Como converto um domínio em Punycode?
Cole-o na caixa e o resultado aparece na hora. A ferramenta converte cada rótulo (as partes entre os pontos) separadamente e mantém os pontos e o domínio de nível superior. Por exemplo, 例え.テスト vira xn--r8jz45g.xn--zckzah.
Posso converter endereços de e-mail e URLs?
Sim. Em um endereço de e-mail só a parte depois do @ é convertida, e em uma URL só o nome do host: o caminho, a consulta, a porta e o nome de usuário ficam como estão. Você pode colar várias linhas de uma vez; cada uma é convertida separadamente.
Por que alguns domínios parecem outro site?
Algumas letras de alfabetos diferentes são idênticas à vista, como o a latino e o а cirílico. Golpistas registram um domínio com uma letra parecida para imitar um site de verdade. Ao decodificar um domínio Punycode, a ferramenta avisa se um rótulo mistura letras latinas com cirílicas ou gregas.
A ferramenta segue exatamente o padrão IDNA?
Ela implementa o algoritmo Punycode da RFC 3492, normaliza o texto para NFC, converte para minúsculas e confere o comprimento dos rótulos e do domínio. Não aplica todas as regras de mapeamento do padrão IDNA/UTS 46 completo (por exemplo, o ß alemão ou os caracteres de largura total), então, para registrar um domínio, confira o resultado com o seu registrador.