DocumentosImagensMídiaFerramentas PDF

Conversor Punycode Online

Converta domínios internacionalizados entre Punycode e Unicode, direto no seu navegador.

Arraste seu PDF aqui

.pdf · até 2 GB

GrátisSem cadastroSem marca d'águaOCR incluído

Conversor Punycode para domínios IDN

Todos os scripts Unicode

Suporta domínios em chinês, árabe, cirílico, devanagari, hebraico, japonês e qualquer script Unicode.

100% privado

A conversão Punycode acontece inteiramente no seu navegador usando a API nativa. Sem servidores.

Detecção de homógrafos

Revela caracteres Unicode ocultos em domínios suspeitos. Identifica possíveis tentativas de phishing.

Instantâneo

Conversão bidirecional em tempo real. Sem cadastro, sem espera, compatível com RFC 3492.

Três passos, sem complicação

1

Insira o domínio

Digite ou cole um domínio em Unicode (como café.com ou 中文.com) ou em Punycode (como xn--caf-dma.com). A ferramenta detecta o formato automaticamente.

2

Conversão instantânea

O domínio é convertido entre sua representação Unicode legível e sua representação ASCII Punycode (xn--...) usando o padrão RFC 3492.

3

Verifique e copie

Copie o resultado para usar em configurações DNS, registros de domínio ou para verificar se um domínio suspeito usa caracteres homógrafos.

Ficou com dúvidas?

Punycode é um algoritmo de codificação definido no RFC 3492 (publicado em 2003) pela IETF, projetado para representar nomes de domínio internacionalizados (IDN) usando apenas caracteres ASCII. O sistema DNS foi originalmente projetado apenas para caracteres ASCII (letras a-z, dígitos 0-9 e hífen), o que excluía idiomas que usam acentos ou caracteres não latinos (chinês, árabe, cirílico, etc.). O Punycode resolve isso codificando caracteres Unicode como uma string ASCII começando com o prefixo xn--. Por exemplo, münchen.de se torna xn--mnchen-3ya.de.

O prefixo xn-- é o prefixo ACE (ASCII Compatible Encoding) definido no padrão IDNA (Internationalizing Domain Names in Applications). Ele indica que o rótulo de domínio que segue é uma representação Punycode de caracteres Unicode. O prefixo xn-- aparece em cada rótulo (parte separada por pontos) do domínio que contém caracteres não ASCII. Se o domínio completo for Unicode, todos os rótulos terão o prefixo. Por exemplo, bücher.de tem o rótulo bücher que em Punycode é xn--bcher-kva, resultando em xn--bcher-kva.de. O TLD (.de, .com) raramente precisa de codificação.

Um ataque de homógrafos IDN (também chamado de ataque de homófonos ou Unicode spoofing) ocorre quando um atacante registra um domínio que visualmente parece idêntico a um domínio legítimo, mas usa caracteres de um alfabeto diferente. Por exemplo, a letra latina a (U+0061) é visualmente idêntica à letra cirílica а (U+0430). Um domínio com o a cirílico é diferente do mesmo domínio com o a latino, mas eles parecem iguais. Esta ferramenta permite verificar se um domínio suspeito usa caracteres não ASCII revelando sua representação Punycode.

A ICANN (Internet Corporation for Assigned Names and Numbers) aprovou os IDN ccTLDs (country-code Top Level Domains internacionalizados) em 2009 e os IDN gTLDs genéricos a partir de 2012. Os primeiros IDN ccTLDs a entrar em vigor foram em árabe (Egito, Arábia Saudita) e em cirílico (Rússia) em 2010. Hoje existem TLDs completamente em chinês, árabe, devanagari, hebraico e outros scripts. A ICANN tem políticas de segurança para prevenir ataques de homógrafos: os registradores devem validar que os domínios não misturem scripts de idiomas diferentes no mesmo rótulo.

Há várias formas de verificar se um domínio usa Punycode: 1) Use esta ferramenta: cole o domínio e veja se contém caracteres Unicode ocultos. 2) Inspecione a barra de endereços do navegador: Chrome e Firefox exibem o Punycode (xn--...) na barra de endereços quando detectam possíveis ataques de homógrafos. 3) Execute no terminal: python3 -c "import idna; print(idna.encode('dominio.com'))" ou em Node.js: require('punycode').toASCII('dominio.com'). 4) Consulte o registro DNS com nslookup ou dig: o nome exibido pode revelar o Punycode.

História dos IDNs (ICANN 2003), prevenção de domain spoofing e internacionalização da web

A história dos nomes de domínio internacionalizados (IDN) começa com o reconhecimento de que o DNS, projetado nos anos 1980 por Paul Mockapetris, suportava apenas ASCII, excluindo os idiomas da maior parte da população mundial. Os primeiros esforços de padronização começaram nos anos 1990. O RFC 3492 (Punycode) foi publicado em março de 2003, e o padrão IDNA (RFC 3490) no mesmo ano. A ICANN aprovou o suporte para IDN ccTLDs em outubro de 2009, após anos de debate, e os primeiros domínios totalmente em árabe foram ativados em 2010.

O domain spoofing por meio de homógrafos Unicode é uma ameaça de segurança real. O caso mais famoso foi demonstrado por Evgeniy Gabrilovich e Alex Gontmakher em 2001, quando registraram paypal.com com um a cirílico. Em 2017, o pesquisador Xudong Zheng demonstrou que era possível registrar аррӏе.com (usando caracteres cirílicos que parecem letras latinas) e obter um certificado TLS válido, tornando o ataque praticamente indetectável. Os navegadores modernos responderam exibindo o Punycode na barra de endereços quando detectam mistura de scripts ou caracteres de scripts pouco comuns.

A internacionalização da web (i18n) vai além dos domínios. O Unicode, desenvolvido desde 1991 pelo Unicode Consortium, define mais de 140.000 caracteres de praticamente todos os sistemas de escrita do mundo. A codificação UTF-8, que representa o Unicode como bytes compatíveis com ASCII, é hoje o padrão universal para a web (mais de 98% das páginas web usam UTF-8 segundo o W3Techs). O suporte para nomes de domínio internacionalizados completa a internacionalização da camada de transporte: com IDN, URLs completas em idiomas nativos são possíveis.