Range boundaries and address count for an IPv6 subnet by CIDR
Unlike IPv4, where address space was a limiting factor requiring careful subnet mask selection, IPv6 uses a fixed 128-bit address space with an enormous surplus. The calculator accepts an address in CIDR notation (address/prefix, e.g. 2001:db8::/32) and computes the range boundaries: the first address (network address) and the last address of the subnet, plus the exact address count.
The prefix specifies how many of the 128 leading bits belong to the network identifier; the remaining bits are available for host numbering within the subnet. The network address is obtained by zeroing all host bits (AND with the mask); the last address by setting all host bits to one (OR with the inverted mask). The number of addresses in a subnet always equals 2 raised to (128 โ prefix).
Even the minimally recommended /64 subnet holds around 18 quintillion addresses โ enough to give every device on a network its own public IPv6 address without address translation (NAT), which in IPv4 was a forced workaround for address scarcity. This simplifies end-to-end connectivity and removes some of the classic NAT headaches (P2P connections, VoIP, protocol design).
Expand/Compress works with a single address, converting its form. This calculator works with an entire subnet โ computing range boundaries and address count from address and prefix.
Typically /56 or /64 for home users. /64 is standard for one physical subnet (needed for SLAAC), /56 lets you split into 256 /64 subnets.
The 128-bit space is deliberately huge โ even /64 holds 2^64 addresses. This removes the need for NAT โ every device can have its own public address.