What Is IPv6?

IPv6 (Internet Protocol version 6) is the current generation of the Internet Protocol, designed to replace IPv4 once its address pool ran dry. An IPv6 address is a 128-bit number written as eight groups of four hexadecimal digits separated by colons, for example 2001:db8::1. The enormous address space is the headline feature: it removes the need for NAT and gives every device its own globally routable address.

How IPv6 works

Like IPv4, IPv6 is a connectionless, best-effort protocol that routes packets from a source address to a destination address. It modernises the design in several ways: the header is a fixed 40 bytes (optional features move into chained extension headers), the per-packet header checksum is removed because lower and upper layers already protect data, and there is no broadcast - IPv6 relies on multicast and a new anycast type instead. Address-to-link-layer resolution uses Neighbor Discovery (NDP) over ICMPv6 rather than ARP.

IPv6 hosts can configure themselves with SLAAC (Stateless Address Autoconfiguration): a router periodically advertises the network prefix, and each device appends its own interface identifier to build a complete address with no DHCP server in the loop. DHCPv6 remains available where an administrator needs centralised, stateful control over assignments.

IPv6 format and shorthand

A full IPv6 address is 128 bits, shown as eight 16-bit groups in hexadecimal, joined by colons: 2001:0db8:0000:0000:0000:ff00:0042:8329. Two compression rules keep it readable:

  • Leading zeros in a group may be dropped: 0db8db8, 004242.
  • One run of consecutive all-zero groups may be replaced with a double colon :: (allowed once per address). The address above shortens to 2001:db8::ff00:42:8329.

Common reserved and special addresses include:

  • Loopback: ::1 - the IPv6 equivalent of 127.0.0.1.
  • Unspecified: :: - all zeros, meaning no address yet assigned.
  • Link-local: fe80::/10 - valid only on the local link, auto-configured on every interface.
  • Unique local (ULA): fc00::/7 - the private-network equivalent, not routed on the public internet.
  • Global unicast: typically begins 2000::/3 - publicly routable addresses.
  • Documentation (RFC 3849): 2001:db8::/32 - reserved for examples like the ones on this page.

Why IPv6 exists

IPv4's 32-bit space caps out at about 4.29 billion addresses, and the free pool was exhausted years ago. IPv6's 128-bit space is not merely four times larger; it is exponentially larger - 2128 versus 232 is a factor of roughly 79 octillion. A single residential customer is commonly delegated a /64 subnet, which by itself holds 18,446,744,073,709,551,616 addresses. That abundance is what lets IPv6 drop NAT, restore end-to-end addressing, and accommodate the long-term growth of connected devices.

Adoption and coexistence with IPv4

There is no single switch-over date. The internet runs dual-stack: hosts and routers speak both protocols and prefer IPv6 when both a route and an AAAA DNS record exist (per the Happy Eyeballs algorithm, RFC 8305). Because IPv4 and IPv6 are not wire-compatible, mixed environments rely on translation and tunneling mechanisms such as NAT64/DNS64 and 464XLAT so IPv6-only clients can still reach IPv4-only servers. For the full technical comparison, see the IPv4 vs IPv6 guide.

Related tools and guides

Frequently asked questions

What is an IPv6 address in simple terms?

An IPv6 address is a 128-bit number that uniquely identifies a device on a network. It is written as eight groups of four hexadecimal digits separated by colons, such as 2001:0db8:0000:0000:0000:ff00:0042:8329, and is usually shortened with the :: rule. IPv6 was created because the internet ran out of IPv4 addresses.

How do you shorten an IPv6 address?

Two rules apply. First, leading zeros in any group may be dropped, so 0db8 becomes db8 and 0042 becomes 42. Second, one run of consecutive all-zero groups may be replaced with a double colon (::), which can be used only once per address. Using both rules, 2001:0db8:0000:0000:0000:ff00:0042:8329 becomes 2001:db8::ff00:42:8329.

How many addresses does IPv6 provide?

IPv6 uses 128-bit addresses, giving 2 to the power 128, roughly 3.4 times 10 to the 38th power, possible addresses. The space is so large that a single home connection is typically delegated an entire /64 block, which alone contains over 18 quintillion addresses.

What is SLAAC in IPv6?

SLAAC stands for Stateless Address Autoconfiguration. It lets a device build its own IPv6 address automatically: the router advertises a network prefix, and the host appends an interface identifier to form a complete, usable address without needing a DHCP server. DHCPv6 is still available when stateful control is required.

Does IPv6 still use NAT?

Generally no. IPv6 has enough addresses to give every device a globally routable address, so the address-conservation reason for NAT disappears and end-to-end addressing is restored. Networks still use a stateful firewall for security, but classic many-to-one NAT is no longer required.

Last reviewed: Reviewed by the

How this tool works: This tool runs in your browser and on our server in real time. Depending on the tool, results are computed directly from the input you provide or retrieved from live, authoritative data sources at the moment you run a lookup. We do not sell your data, and your lookups are kept private — any history shown here is stored only on your device.