Compress the All-Zeros IPv6 Address (Unspecified)

Compress the all-zeros IPv6 address 0000:0000:0000:0000:0000:0000:0000:0000 to its shortest form. Learn about the unspecified address and its uses.

Special Addresses

Detailed Explanation

Compressing the All-Zeros Address

The all-zeros IPv6 address in expanded form is:

0000:0000:0000:0000:0000:0000:0000:0000

When compressed, this becomes simply:

::

Compression Rules Applied

  1. Remove leading zeros: Each group 0000 becomes 0
  2. Replace longest zero run: All eight groups are zeros, so the entire address is replaced by ::

This is the most extreme example of IPv6 compression, reducing 39 characters down to just 2.

The Unspecified Address

The all-zeros address :: is called the unspecified address (defined in RFC 4291). It has specific meaning in IPv6:

  • It indicates the absence of an address
  • Used as the source address when a host has not yet been assigned an address
  • Appears during DHCPv6 and SLAAC (Stateless Address Autoconfiguration) before an address is acquired
  • Must never be assigned to an interface or used as a destination address

Socket Programming

In socket programming, binding to :: means "listen on all available IPv6 addresses," similar to binding to 0.0.0.0 in IPv4.

Use Case

The unspecified address is used in network programming when binding a server socket to all available interfaces (e.g., in Node.js, Python, or Go TCP listeners). It also appears in DHCPv6 client messages and routing tables as a default route destination.

Try It — IPv6 Expander / Compressor

Open full tool