1001Ferramentas
🔄Dev

Encurtador / Expansor IPv6

Expande um IPv6 para a forma completa (8 grupos de 4 dígitos hex) ou contrai usando ::, removendo zeros à esquerda.

Forma completa

Forma curta

Forma canônica de endereço IPv6 pela RFC 5952

O mesmo endereço IPv6 pode ser escrito de muitas maneiras, e é aí que aparece o problema: comparação de texto em lista de acesso, em log e em banco falha quando duas grafias apontam para o mesmo host. A RFC 5952 existe para acabar com isso, fixando uma forma canônica única. A página expande para os oito grupos completos e reduz para essa forma.

As regras são quatro e todas obrigatórias. Hexadecimal em minúsculas; zeros à esquerda de cada grupo removidos; a maior sequência de grupos zerados substituída por dois-pontos duplos, e nunca uma sequência de um único grupo; e em caso de empate entre duas sequências do mesmo tamanho, comprime-se a primeira. A regra do empate é a que mais falta em implementação caseira.

Há ainda a notação mista, exigida para endereço IPv4-mapeado: a página escreve os últimos 32 bits em decimal pontilhado quando o endereço está na faixa que começa com dois-pontos duplos seguido de ffff. É a forma que aparece em log de servidor que aceita as duas famílias, e a página aceita esse formato também na entrada, junto com zona depois do percentual e prefixo depois da barra.

Perguntas frequentes

Por que não comprimir um grupo zerado sozinho?
Porque o ganho é nulo — dois-pontos duplos ocupa o mesmo espaço que o zero que substituiria — e a ambiguidade é real: quem lê não sabe se ali havia um grupo ou vários. A norma proíbe para que a forma canônica seja de fato única, que é o ponto inteiro dela.
Maiúscula está errada?
Não é inválida, e qualquer implementação aceita na entrada. Mas a forma canônica é minúscula, e é isso que vale ao gravar em banco, escrever em configuração ou comparar duas strings. A norma escolheu minúscula por ser o que a maior parte das implementações já emitia.
A zona faz parte do endereço?
Não. O identificador de zona depois do percentual diz por qual interface alcançar um endereço de escopo local, e é informação de contexto, não do endereço. A página o remove antes de canonizar, que é o comportamento correto — dois endereços iguais com zonas diferentes são o mesmo endereço.

Ferramentas Relacionadas