IPv6 Subnet Calculator
Free IPv6 address tool. Expand and compress addresses, classify them (link-local, unique local, multicast, global unicast), and calculate subnet ranges.
| Expanded | |
| Compressed | |
| Address type |
Subnet range
| Network address | |
| Last address | |
| Total addresses | |
| Address type |
How IPv6 addressing works
An IPv6 address is 128 bits, written as eight groups of four hex digits separated by colons. Because that's
a lot to write out, leading zeros in each group can be dropped (0db8 becomes db8),
and one run of consecutive all-zero groups can be collapsed to ::. A CIDR-style prefix, like
/32 or /64, marks how many of those 128 bits are fixed as the network portion β
exactly the same idea as IPv4 CIDR notation, just on a much bigger address space.
Worked example
The address 2001:0db8:0000:0000:0000:0000:0000:0001 compresses to 2001:db8::1. For
the subnet 2001:db8::/32, the network address is 2001:db8::, the last address in
the range is 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff, and the subnet contains
79,228,162,514,264,337,593,543,950,336 addresses in total (2βΉβΆ, since 128 β 32 = 96 host bits remain).
Frequently asked questions
What does "::" mean in an IPv6 address?
IPv6 addresses have eight 16-bit groups written in hex, e.g. 2001:0db8:0000:0000:0000:0000:0000:0001. A double colon ("::") compresses one consecutive run of all-zero groups, so that address can be written as 2001:db8::1. Only one "::" is allowed per address, since otherwise the number of compressed groups would be ambiguous.
What is the difference between link-local, unique local, and global unicast addresses?
Link-local addresses (fe80::/10) are only valid on a single local network segment and aren't routed anywhere else. Unique local addresses (fc00::/7) are IPv6's equivalent of private IPv4 ranges like 192.168.0.0/16 β usable within an organization but not routed on the public internet. Global unicast addresses are publicly routable, the IPv6 equivalent of a public IPv4 address.
How many addresses are in an IPv6 subnet?
A subnet with a /n prefix has 2^(128βn) addresses. A /64 β the standard size for a single LAN segment β has 2βΆβ΄ addresses (about 18.4 quintillion), far more than any network could exhaust. A /32, often assigned to an entire ISP, has 2βΉβΆ addresses.
Why is IPv6 written in hexadecimal instead of decimal like IPv4?
IPv6 addresses are 128 bits long β four times longer than IPv4's 32 bits β and writing that many bits in decimal dotted notation would be unreadably long. Hex groups pack 16 bits into 4 characters each, keeping the address to a more manageable eight groups.