Advanced IPv6 Subnet Tool
IPv6 Subnet Calculator
Enter any IPv6 address and prefix length — expand, compress, detect address type, view hex groups, and split into subnets with export.
| # | Subnet / Prefix | First Address | Last Address | Total Addresses | Label / Purpose |
|---|
| Prefix | Type | RFC | Scope | Cisco Use |
|---|---|---|---|---|
| 2000::/3 | Global Unicast (GUA) | RFC 4291 | Global | Public routable addresses |
| fe80::/10 | Link-Local Unicast | RFC 4291 | Link | Auto-configured, required on all interfaces |
| fc00::/7 | Unique Local (ULA) | RFC 4193 | Organisation | Private addressing — fd00::/8 most common |
| ff00::/8 | Multicast | RFC 4291 | Various | ff02::1 all-nodes, ff02::2 all-routers |
| ::1/128 | Loopback | RFC 4291 | Host | Equivalent to IPv4 127.0.0.1 |
| ::/128 | Unspecified | RFC 4291 | — | Used in DAD (duplicate address detection) |
| 2001:db8::/32 | Documentation | RFC 3849 | — | Examples and documentation only — not routable |
| ::ffff:0:0/96 | IPv4-Mapped | RFC 4291 | Host | Represents IPv4 addresses in IPv6 socket APIs |
| 2001::/32 | Teredo | RFC 4380 | Global | IPv6 tunnelling through IPv4 NAT |
| 2002::/16 | 6to4 | RFC 3056 | Global | Automatic IPv6 over IPv4 tunnelling |
| Prefix | Addresses | Typical Allocation | Subnets (/64) |
|---|---|---|---|
| /32 | 2^96 | ISP allocation (minimum) | 2^32 = 4 billion |
| /40 | 2^88 | ISP to large enterprise | 2^24 = 16.7 million |
| /48 | 2^80 | Site / enterprise standard | 2^16 = 65,536 |
| /56 | 2^72 | Residential / small site | 2^8 = 256 |
| /64 | 2^64 | Single LAN segment | 1 (standard LAN size) |
| /112 | 65,536 | — | — |
| /120 | 256 | — | — |
| /126 | 4 | Point-to-point links | — (like IPv4 /30) |
| /127 | 2 | Point-to-point links | — RFC 6164 (like IPv4 /31) |
| /128 | 1 | Host route / loopback | — (like IPv4 /32) |
IPv6 subnetting is the process of dividing a large IPv6 address block (prefix) into smaller sub-networks. While the concept mirrors IPv4 subnetting, IPv6 enforces a fixed /64 boundary for all LAN segments. The first 64 bits are the network prefix; the last 64 bits form the interface identifier used by SLAAC and EUI-64.
Unlike IPv4, you never run out of host addresses on a LAN — every /64 contains 2^64 (18.4 quintillion) addresses. Subnetting in IPv6 is done entirely in the upper 64 bits: splitting a /48 into /56 blocks, /56 into /64 blocks, and so on. Never subnet below /64 for regular LAN segments as this breaks SLAAC, NDP, and many IPv6 protocols.
An IPv6 address is 128 bits written as eight groups of four hexadecimal digits separated by colons: 2001:0db8:0000:0001:0000:0000:0000:0001. Two compression rules apply:
- Leading zeros in each group can be omitted:
0db8→db8 - One contiguous run of all-zero groups can be replaced with
::(used only once per address)
So 2001:0db8:0000:0001:0000:0000:0000:0001 compresses to 2001:db8:0:1::1. This calculator expands any compressed address to full notation and back, following RFC 5952 canonical formatting rules.
IPv6 uses a fixed /64 boundary for all LAN segments by design. The first 64 bits are the network prefix assigned by your ISP or router; the last 64 bits are the interface identifier, generated automatically using SLAAC (Stateless Address Autoconfiguration) or EUI-64 from the device's MAC address.
This means every LAN segment has 2^64 (18,446,744,073,709,551,616) addresses — you will never run out. Subnetting below /64 for regular LANs breaks SLAAC, Neighbor Discovery Protocol (NDP), DHCPv6 prefix delegation, and many other core protocols. The only exception is point-to-point links where /127 or /126 are used.
For router-to-router links two prefix lengths are standard. /126 (4 addresses, 2 usable) mirrors the IPv4 /30 approach and was widely used in early IPv6 deployments. /127 per RFC 6164 (2 addresses, both usable) is now the recommended standard because it:
- Eliminates the subnet-router anycast address issue present in /126
- Saves one address compared to /126
- Mirrors the IPv4 /31 approach (RFC 3021)
Cisco IOS configuration: ipv6 address 2001:db8::1/127 on one side, ipv6 address 2001:db8::0/127 on the other. Both addresses are usable — there is no network or broadcast address in a /127.
Global Unicast (GUA — 2000::/3): Publicly routable addresses assigned by your ISP. Equivalent to IPv4 public addresses. All addresses starting with binary 001 fall here. Your ISP typically assigns a /48 or /56.
Unique Local (ULA — fc00::/7, most commonly fd00::/8): Private IPv6 addresses not routed on the public internet. Equivalent to RFC 1918 (10.x.x.x, 172.16.x.x, 192.168.x.x). The fd prefix means locally generated — you choose the next 40 bits randomly to create a /48 ULA prefix.
Link-Local (fe80::/10): Automatically configured on every IPv6-enabled interface, even if no global prefix is assigned. Used for Neighbor Discovery, Router Advertisements, and routing protocol peering. Not routable beyond the local link. Required by the IPv6 specification — you cannot disable it.
A standard enterprise IPv6 deployment uses a hierarchical addressing plan to simplify routing and summarisation:
- ISP assigns a
/32or/48to the enterprise (65,536 possible /64 subnets from a /48) - Each data centre or large campus gets a
/48or/52 - Each building or floor gets a
/56 - Each VLAN / LAN segment gets a
/64 - Point-to-point router links use
/127 - Loopback interfaces use
/128
This structure allows easy summarisation: all of building 3 can be announced as a single /56, all campus A as a /48. Route tables stay small and aggregation works naturally.
Essential Cisco IOS commands for IPv6 configuration and verification:
For OSPFv3: ipv6 ospf 1 area 0 on each interface. For BGP with IPv6 peers, use the address-family ipv6 under the BGP process.
IPv6 multicast (ff00::/8) replaces IPv4 broadcast. Every device is a member of certain multicast groups by default:
| Address | Group | Used By |
|---|---|---|
| ff02::1 | All nodes (link-local) | Equivalent to IPv4 broadcast — all IPv6 hosts |
| ff02::2 | All routers (link-local) | All IPv6 routers on the link |
| ff02::5 | OSPFv3 all routers | OSPFv3 hello packets |
| ff02::6 | OSPFv3 DR/BDR | OSPFv3 designated routers |
| ff02::9 | RIPng routers | RIPng routing protocol |
| ff02::a | EIGRP routers | EIGRP for IPv6 |
| ff02::1:ff00::/104 | Solicited-node multicast | Neighbor Discovery / DAD |
Solicited-node multicast addresses are formed by taking the last 24 bits of the IPv6 address and appending them to ff02::1:ff00::/104. They are used for Duplicate Address Detection (DAD) and address resolution, replacing ARP.
SLAAC (Stateless Address Autoconfiguration) allows IPv6 devices to configure their own global unicast address without a DHCP server. The process:
- Device generates a link-local address (
fe80::/10) from its MAC address - Device sends a Router Solicitation (RS) to
ff02::2 - Router responds with a Router Advertisement (RA) containing the /64 prefix
- Device combines the /64 prefix with a 64-bit interface identifier to form its GUA
EUI-64 derives the 64-bit interface ID from the 48-bit MAC address by inserting FF:FE in the middle and flipping bit 7. Example: MAC 00:1A:2B:3C:4D:5E → EUI-64 021A:2BFF:FE3C:4D5E. Modern OS implementations often use RFC 7217 stable privacy addresses or RFC 4941 temporary addresses instead, for privacy.