Conversor IPv4 ↔ IPv6
Privado por design — roda inteiramente no seu navegador
Mude o sentido e cole um IPv4 como 192.0.2.1 para ver as formas IPv4-mapped (::ffff:192.0.2.1), expandida completa e IPv4-compatible em IPv6. Inverta para IPv6 → IPv4 e extraia o IPv4 embutido em um endereço mapeado, ou veja a forma comprimida e expandida de qualquer IPv6.
Três representações de IPv4 dentro de IPv6
A RFC 4291 define dois jeitos de carregar um IPv4 dentro de um IPv6. O atual é IPv4-mapped: ::ffff:a.b.c.d. O antigo é IPv4-compatible: ::a.b.c.d, descontinuado para código novo mas ainda presente em documentação antiga e alguns stacks legados. Também devolvemos a forma expandida completa (oito grupos hex de 16 bits, sem atalhos), que é o que você quer quando faz grep em log ou comparação byte a byte.
Notação comprimida vs expandida
IPv6 aceita um atalho textual: a sequência mais longa de grupos zerados consecutivos vira um único ::. Então 2001:db8:0:0:0:0:0:1 fica 2001:db8::1. O :: só pode aparecer uma vez. A RFC 5952 define as regras — hex em minúsculas, comprime só a sequência mais longa, descarta zeros à esquerda dentro de cada grupo. A forma comprimida é o que você publica; a expandida é o que ferramentas tipo ipset e BPF esperam.
Por que importa debugar dual-stack
Quando um servidor escuta num socket AF_INET6 sem IPV6_V6ONLY, o kernel expõe clientes IPv4 como endereços ::ffff:. O log da aplicação acaba com formas mapeadas, e isso faz grep contra listas IPv4 esperadas falhar. Passe pelo conversor para normalizar antes de comparar — ou para confirmar que um túnel está entregando tráfego 6to4 corretamente.
Perguntas Frequentes
- O que é um IPv6 mapeado de IPv4?
- Vive em ::ffff:0:0/96 (RFC 4291). Sockets dual-stack expõem clientes IPv4 como endereços mapeados, permitindo um único bind atender os dois protocolos.
- Por que existem dois formatos com prefixo zero?
- ::a.b.c.d é a forma IPv4-compatible, descontinuada pela RFC 4291. ::ffff:a.b.c.d é a forma IPv4-mapped, atual. Mostramos as duas porque sistemas antigos ainda emitem a compatible.
- ::ffff:a.b.c.d está descontinuado?
- Não — IPv4-mapped é o jeito recomendado de representar endpoints IPv4 em código dual-stack atual. O descontinuado é o IPv4-compatible (sem ffff).
- Consigo extrair IPv4 de qualquer IPv6?
- Só quando o IPv6 está nas faixas mapped ou compatible. Para um IPv6 comum como 2001:db8::1 não há IPv4 a extrair — a ferramenta mostra apenas as formas expandida e comprimida.
- Qual a diferença entre :: e 0:0:0:0:0:0:0:0?
- 0:0:0:0:0:0:0:0 é o endereço unspecified explícito. :: é o mesmo endereço comprimido. A forma comprimida é a representação canônica em IPv6.
- O IP que digitei sai da página?
- Não. A conversão acontece em JavaScript dentro desta aba. Não vemos, não logamos e não guardamos o endereço.