Conversor IPv4 para IPv6

Digite um endereço IPv4 para ver todos os endereços IPv6 que o carregam, do formato IPv4 mapeado dos seus logs ao NAT64 e ao 6to4, escritos no padrão da RFC 5952 e por extenso, cada um marcado como em uso, raro hoje ou obsoleto.

Estruturas das RFC 4291, 6052, 8215 e 3056 · texto RFC 5952 · roda no seu navegador

Lido como decimal com pontos

Os endereços IPv6 que carregam 192.0.2.33
Endereço de documentação (RFC 5737)Decimal 3221226017Hex 0xC0000221
IPv4 mapeado Em usoSockets, logs e bancos de dados · RFC 4291
NAT64, prefixo bem conhecido Em usoRedes só IPv6 chegando ao IPv4 · RFC 6052Endereço de exemplo: o uso real precisa de um IPv4 global
O prefixo NAT64 da sua rede Em usoPrefixo e comprimento, como a rede os anuncia · RFC 6052
Adicionar o prefixo NAT64 da rede
NAT64, bloco de uso local Em uso/96 mostrado; a rede escolhe o comprimento · RFC 8215
6to4 Raro hojeo /48 do site · RFC 3056Endereço de exemplo: o uso real precisa de um IPv4 global
ISATAP Raro hojesob fe80::/64 (qualquer /64 serve) · RFC 5214
IPv4 traduzido Raro hojeAntiga tradução sem estado (SIIT) · RFC 2765
IPv4 compatível ObsoletoNenhum: aposentado · RFC 4291
Experimente

Com pontos, um único número (3221225985), hex ou uma URL. A conversão é feita no seu navegador; nada é enviado.

Como converter IPv4 para IPv6?

Escreva os 32 bits do endereço IPv4 como dois grupos hex e coloque-os onde um formato IPv6 os guarda: no formato IPv4 mapeado, o mais comum, isso fica depois de ::ffff:, então 192.0.2.33 vira ::ffff:c000:221, escrito ::ffff:192.0.2.33.

Cada parte decimal vira dois dígitos hex (192 = c0, 0 = 00, 2 = 02, 33 = 21), e os quatro pares formam dois grupos de 16 bits. A RFC 5952 recomenda manter a forma com pontos depois de ::ffff: porque ela mostra o que os bits significam.

Isso só muda a forma de escrever o endereço. Não dá a um dispositivo um endereço IPv6 nem uma conexão IPv6; isso vem da rede.

1Cada parte em hex192c00002023321
2Dois grupos de 16 bitsc000 : 221c0 00 → c000 · 02 21 → 0221 → 221
3Depois do prefixo::ffff:192.0.2.33= ::ffff:c000:221
192.0.2.33 no formato IPv4 mapeado, passo a passo.
Conversor IPv4 para IPv6 listando todas as formas IPv6 de 192.0.2.33 e para onde vão os seus 32 bitsConversor IPv4 para IPv6 listando todas as formas IPv6 de 192.0.2.33 e para onde vão os seus 32 bitsSeu IPv4 em hex192.0.2.33 é c0 00 02 21: os 8 dígitos que toda forma IPv6 carrega.Para onde vão os bitsOs mesmos 8 dígitos vão para os bits 96–127 no mapeado e no NAT64, e para os bits 16–47 no 6to4.Ainda em uso?Em uso, raro hoje ou obsoleto, segundo as RFCs e os dados de tráfego.O prefixo da sua redeInforme um prefixo NAT64 e o comprimento para obter o endereço que o seu tradutor usa.Curta ou completaTexto RFC 5952, a outra grafia embaixo e os 32 dígitos completos com um só botão.
Um endereço IPv4 em todos os formatos IPv6, com onde caem os 32 bits e se o formato ainda é usado.

Qual forma IPv6 devo usar?

Use o formato IPv4 mapeado no software (sockets, logs, bancos de dados) e o prefixo NAT64 da sua rede numa rede só IPv6; as outras formas são raras hoje ou foram aposentadas.

Endereços mapeados nunca trafegam pela rede. Endereços NAT64 trafegam, e o prefixo bem conhecido 64:ff9b::/96 só pode carregar endereços IPv4 globais (RFC 6052). O 6to4 também precisa de um endereço IPv4 público.

Os endereços IPv4 compatíveis são obsoletos, e o prefixo IPv4 traduzido do SIIT deu lugar aos prefixos da RFC 6052.

FormatoPara que serveStatus192.0.2.33 vira
IPv4 mapeadoRFC 4291Sockets, logs e bancos de dadosEm uso::ffff:192.0.2.33
NAT64, prefixo bem conhecidoRFC 6052Redes só IPv6 chegando ao IPv4Em uso64:ff9b::c000:221
NAT64, bloco de uso localRFC 8215O NAT64 próprio de uma rede, dentro de 64:ff9b:1::/48Em uso64:ff9b:1::c000:221
6to4RFC 3056Túneis automáticos, hoje rarosRaro hoje2002:c000:221::/48
ISATAPRFC 5214Túneis dentro de um site, hoje rarosRaro hojefe80::5efe:c000:221
IPv4 traduzidoRFC 2765Antiga tradução sem estado (SIIT)Raro hoje::ffff:0:192.0.2.33
IPv4 compatívelRFC 4291Nenhum: aposentadoObsoleto::c000:221
Todas as formas IPv6 padrão de um endereço IPv4, com a finalidade de cada uma e se ainda é usada.

O que é um endereço IPv4 mapeado em IPv6?

É um endereço IPv4 escrito como IPv6: 80 bits zero, 16 bits um e depois o endereço IPv4 de 32 bits (::ffff:0:0/96), para que um software com um único socket IPv6 também atenda pares IPv4.

Endereços mapeados vivem só dentro do software; a IANA marca o bloco como não encaminhável. Isso tem um lado de segurança: um pacote vindo de ::ffff:127.0.0.1 pode passar por verificações feitas para a própria máquina, então os filtros devem desfazer o mapeamento antes de comparar (RFC 4942).

Os bancos de dados os reconhecem: o IS_IPV4_MAPPED() do MySQL aceita o final com pontos ou em hex, e o PostgreSQL os imprime em notação mista.

80 bits zero0000:0000:0000:0000:000016 bits umffffo endereço IPv4, 32 bits192.0.2.33
dentro do software accept() → ::ffff:192.0.2.33
na rede nunca é enviado IANA: não encaminhável
Os 128 bits de ::ffff:192.0.2.33, em escala, e onde essa forma existe.

Como funciona a migração do IPv4 para o IPv6?

As redes rodam os dois protocolos lado a lado (dual stack), e redes só IPv6 chegam à internet IPv4 por tradução: NAT64 com DNS64, ou 464XLAT nos celulares.

Com NAT64, o DNS64 monta um registro AAAA a partir do registro A de um host, e o tradutor leva o tráfego até o IPv4. Com 464XLAT, um tradutor no celular (CLAT) transforma os pacotes IPv4 do app em IPv6, e o NAT64 da operadora (PLAT) os transforma de volta em IPv4 em endereços públicos compartilhados.

A migração está pela metade: em 22 de outubro de 2026, 47,13% dos usuários chegaram ao Google por IPv6 (Google), e o APNIC Labs contou 43,8% dos usuários no mundo como capazes de usar IPv6.

As três formas como IPv6 e IPv4 se encontram hoje e quanto a adoção já avançou (22 de outubro de 2026).

IPv4 e IPv6 conseguem se comunicar?

Não diretamente: um host só IPv6 e um host só IPv4 precisam de um tradutor entre eles, como o NAT64 para clientes IPv6 chegarem a servidores IPv4, enquanto hosts dual stack simplesmente usam o protocolo que o outro lado tem.

Os dois protocolos têm formatos de pacote diferentes, então algo precisa reescrever cada pacote. Tradutores sem estado (SIIT, RFC 7915) mapeiam endereços um para um usando prefixos da RFC 6052; o NAT64 compartilha endereços IPv4 entre muitos clientes IPv6.

É por isso que a maioria das redes mantém os dois protocolos funcionando: um dispositivo dual stack não precisa de tradução nenhuma.

Cliente ↓ · Servidor →Só IPv4Só IPv6Dual stack
Só IPv4IPv4tradutor (SIIT)IPv4
Só IPv6NAT64 + DNS64IPv6IPv6
Dual stackIPv4IPv6qualquer um
Quem consegue chegar a quem, e o que fica no meio.

Como converter IPv4 para IPv6 em código?

A maioria das linguagens faz isso numa chamada: o IPv4Address.ipv6_mapped do Python, o netip do Go com Is4In6 e Unmap, o INET6_ATON do MySQL com IS_IPV4_MAPPED e o tipo inet do PostgreSQL.

O Python 3.13 acrescentou ipv6_mapped e imprime endereços mapeados com pontos. O Addr.String do Go imprime ::ffff:192.0.2.33 e o Unmap devolve o endereço IPv4 simples. O net.isIP() do Node retorna 6 para um endereço mapeado, e o net.BlockList aplica regras IPv4 a ele.

› import ipaddress
ipaddress.IPv4Address('192.0.2.33').ipv6_mapped
IPv6Address('::ffff:192.0.2.33')

Python 3.13+

› a := netip.MustParseAddr("::ffff:192.0.2.33")
fmt.Println(a.Is4In6(), a.Unmap())
true 192.0.2.33

Go net/netip

› SELECT IS_IPV4_MAPPED(INET6_ATON('::ffff:192.0.2.33'));
1

MySQL 8.4

› SELECT inet '::ffff:192.0.2.33';
::ffff:192.0.2.33

PostgreSQL 16

› net.isIP('::ffff:192.0.2.33')
6

Node.js net

O mesmo endereço IPv4 mapeado em cinco linguagens e bancos de dados, com o que cada um imprime.

Perguntas frequentes

Como fica 192.168.1.1 em IPv6?

Como endereço IPv4 mapeado, fica ::ffff:192.168.1.1, ou ::ffff:c0a8:101 com os últimos 32 bits em hex. Essa forma vive dentro do software; ela não dá ao roteador um endereço IPv6. Como 192.168.1.1 é um endereço privado, ele não pode ser usado com o prefixo bem conhecido do NAT64, 64:ff9b::/96, e um prefixo 6to4 precisa de um endereço IPv4 público.

Converter IPv4 para IPv6 dá um endereço IPv6 ao meu dispositivo?

Não. Escrever um endereço IPv4 na forma IPv6 só muda como os mesmos 32 bits são anotados; o seu dispositivo continua sem conectividade IPv6. Um endereço IPv6 vem da sua rede: o roteador ou o provedor distribui um prefixo, e o dispositivo monta o endereço dele a partir disso. O Teste IPv6 verifica se a sua conexão tem IPv6 funcionando.

Qual forma IPv6 devo guardar num banco de dados?

Guarde os endereços em binário, não em texto. O INET6_ATON do MySQL retorna 16 bytes para IPv6 e 4 para IPv4, e o IS_IPV4_MAPPED diz quais valores IPv6 são endereços IPv4 mapeados. Se uma coluna precisa guardar as duas famílias em 16 bytes, o formato IPv4 mapeado ::ffff:a.b.c.d é o jeito padrão de escrever IPv4 como IPv6. O tipo inet do PostgreSQL guarda qualquer das duas famílias de forma nativa.

::ffff:192.0.2.1 é o mesmo que ::ffff:c000:201?

Sim. Os dois escrevem os mesmos 128 bits; o primeiro escreve os últimos 32 bits como um endereço IPv4 com pontos, o segundo como dois grupos hex. A RFC 5952 recomenda a forma com pontos para endereços IPv4 mapeados, enquanto os navegadores imprimem a forma hex nas URLs. Compare endereços como números, nunca como texto, para que grafias como essas coincidam.

Por que 64:ff9b::10.1.1.1 é inválido?

Porque o prefixo bem conhecido do NAT64 só pode carregar endereços IPv4 globais. A RFC 6052 diz que um endereço como 64:ff9b::10.1.1.1, que embute um endereço IPv4 privado, é inválido, e os tradutores devem descartar os pacotes enviados a ele. O conversor sinaliza a linha do NAT64 sempre que você digita um endereço IPv4 privado ou outro não global, e também a linha do 6to4, porque o 6to4 precisa de um endereço público.

Qual é o endereço 6to4 de um endereço IPv4?

É o prefixo /48 formado por 2002: e o endereço IPv4 em hex: 192.0.2.33 dá 2002:c000:221::/48, e o site numerava as suas sub-redes e hosts dentro dele. O 6to4 precisa de um endereço IPv4 público, então endereços privados não têm prefixo 6to4 válido. A RFC 7526 aposentou os relays públicos que faziam o 6to4 funcionar, e hoje o formato quase não aparece.

Quantas pessoas usam IPv6?

Quase metade. Em 22 de outubro de 2026, 47,13% dos usuários chegaram ao Google por IPv6, e o APNIC Labs mediu 43,8% dos usuários no mundo como capazes de usar IPv6 nos 30 dias até 21 de outubro de 2026, com 40,9% preferindo IPv6. O resto ainda usa só IPv4, e é por isso que as redes mantêm os dois protocolos lado a lado ou traduzem entre eles.

Como celulares só IPv6 chegam a sites IPv4?

Pelo 464XLAT. Um tradutor no celular, o CLAT, transforma sem estado os pacotes IPv4 do app em IPv6, e o NAT64 da operadora, o PLAT, os transforma de volta em IPv4 em endereços públicos compartilhados. Para os nomes, o DNS64 monta registros AAAA a partir de registros A, e é por isso que aparecem endereços como 64:ff9b::c000:221. O celular descobre o prefixo da sua rede consultando ipv4only.arpa.

Como converter IPv4 para IPv6 em Python?

No Python 3.13 e posteriores, ipaddress.IPv4Address('192.0.2.33').ipv6_mapped retorna IPv6Address('::ffff:192.0.2.33'). Em versões anteriores, monte-o a partir do texto: ipaddress.IPv6Address('::ffff:192.0.2.33'). O Python imprime endereços mapeados com pontos desde o 3.13 e o 3.12.11; versões mais antigas imprimem ::ffff:c000:221. As duas grafias são o mesmo endereço, então compare os objetos, não as strings.

Algo que eu digito é enviado ao seu servidor?

Não. Todas as formas desta página são calculadas no seu navegador, por isso os resultados aparecem enquanto você digita. Ao copiar um link, o endereço e qualquer prefixo NAT64 que você informou vão depois de um # na URL, uma parte que os navegadores nunca enviam ao servidor, então quem o abrir vê a mesma conversão. Só se o script da página não carregar, o botão Converter envia uma requisição normal da página.