Os endereços IPv6 são naturalmente bastante longos (128 bits, representados como oito grupos de quatro dígitos hexadecimais). Para torná-los mais fáceis de ler e escrever, são aplicadas duas regras principais de compactação:
- Omissão de zeros à esquerda: Dentro de qualquer um dos oito grupos, os zeros à esquerda podem ser removidos. Por exemplo,
0db8torna-sedb8e0000torna-se0. - Compressão Zero (Dois Pontos): Uma sequência consecutiva de grupos contendo apenas zeros pode ser substituída por dois pontos duplos
::. Isso só pode ser usado uma vez por endereço IPv6 para evitar ambiguidade. Então2001:db8:0:0:0:0:2:1torna-se2001:db8::2:1.