🌐 IPv6 Calculator
Calculate and analyze IPv6 subnets, prefixes, and network ranges for modern IPv6 address space.
Splitting 128 bits at the prefix
The address is handled as sixteen bytes. Everything past the prefix is cleared to get the network address and set to get the last address, and the count is a plain power of two:
network = address with the low (128 - prefix) bits set to 0
last = address with the low (128 - prefix) bits set to 1
addresses = 2^(128 - prefix)
Feed it 2001:db8::1 with /64. Expanded, that address is 2001:0db8:0000:0000:0000:0000:0000:0001. Zeroing the low 64 bits gives the network 2001:db8::, setting them gives 2001:db8::ffff:ffff:ffff:ffff, and 2^64 is 18,446,744,073,709,551,616 addresses in that one subnet. Drop the prefix to /48 and the network address is the same string, but the block now spans 2^80 addresses and its last address becomes 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff.
What is different from IPv4
- There is no broadcast address. IPv6 dropped broadcast in favour of multicast, so the row labelled broadcast here is simply the highest address in the prefix, and it is a perfectly ordinary host address.
- Nothing is subtracted. All 2^(128 - prefix) addresses are available, so the "usable hosts = total - 2" habit from IPv4 does not carry over. The all-zeros interface identifier is reserved as the subnet-router anycast address, which is the one address to leave alone.
- /64 is the standard LAN. SLAAC needs 64 host bits, so subnetting below /64 breaks address autoconfiguration - the exception being /127 on router-to-router links, per RFC 6164.
Frequently asked questions
How many addresses are in an IPv6 /64?
18,446,744,073,709,551,616 - that is 2^64. A single IPv6 LAN holds more addresses than the whole IPv4 space 4.29 billion times over, since 2^64 divided by 2^32 is 2^32.
Does IPv6 have a broadcast address?
No. The protocol has no broadcast at all; anything IPv4 would have broadcast is sent to a multicast group instead, such as ff02::1 for all nodes on the link.
How many /64 subnets fit in a /48?
65,536. The 16 bits between /48 and /64 give 2^16 subnets, which is why a /48 is the usual allocation to a site and a /56 - holding 256 of them - to a home.