IPv6 Subnet Calculator: Prefix, Subnets & Address Count

IPv6 Subnet Calculator

Expand any IPv6 address to its full 8 groups, apply the prefix mask to find the network, count how many /64 subnets and total addresses a prefix holds, and identify the address type from its leading bits.

šŸŽÆReal IPv6 Presets

šŸ“IPv6 Inputs

Use :: shorthand for zero groups, for example 2001:db8::1.

Number of leading bits that define the network.

Splitting must use a longer prefix than the base.

Index of the child subnet in the table below (0 is first).

/64 Subnets 0 within this prefix
Total addresses 0 2^(128 - prefix)
Address type – from leading bits
Network prefix :: compressed first address

šŸ”¢Structure Snapshot

128Total bits
816-bit groups
4Bits per nibble
/64Standard subnet

šŸ—‚Child Subnet Preview

IndexChild SubnetNew PrefixFirst AddressSubnet ID
Enter values above to list child subnets.

šŸ“ŠIPv6 Prefix Reference

PrefixNetwork NibblesHost Bits/64 SubnetsTotal Addresses
/328 nibbles96 bits2^32 (about 4.29e9)2^96 (about 7.92e28)
/4010 nibbles88 bits2^24 (about 1.68e7)2^88 (about 3.09e26)
/4812 nibbles80 bits2^16 (65,536)2^80 (about 1.21e24)
/5213 nibbles76 bits2^12 (4,096)2^76 (about 7.56e22)
/5614 nibbles72 bits2^8 (256)2^72 (about 4.72e21)
/6015 nibbles68 bits2^4 (16)2^68 (about 2.95e20)
/6416 nibbles64 bits1 (itself)2^64 (about 1.84e19)
/12832 nibbles0 bits0 (single host)1 address

🌐IPv6 Address-Type Reference

TypePrefix BlockLeading BitsScopeTypical Use
Global Unicast2000::/3001GlobalPublic routable addresses
Unique Localfc00::/71111 110SitePrivate ULA, fd00::/8 in practice
Link-Localfe80::/101111 1110 10LinkAuto-config on one link
Multicastff00::/81111 1111VariesOne-to-many delivery
Loopback::1/128all zero + 1HostLocal host self-test
Unspecified::/128all zeroNoneAbsence of an address
Documentation2001:db8::/32within 2000::/3GlobalExamples and docs only

🧮Hex Nibble to Prefix Map

Nibble BoundaryPrefixBitsGroup PositionNotes
End of group 2/3232xxxx:xxxx::Common RIR allocation
Mid group 3/4848xxxx:xxxx:xxxx::Standard site block
Group 4 nibble 2/5656...:xx00::Home or small site
Group 4 nibble 3/6060...:xxx0::16 subnets of /64
End of group 4/6464...:xxxx::One LAN, host bits below
End of group 7/112112...:xxxx:0Point-to-point style
End of group 8/128128full addressA single host

šŸ—„Allocation Comparison Grid

ScenarioAssignedSubnet IntoChild PrefixChild CountAddresses Each
RIR to ISP/32/48/482^16 (65,536)2^80 each
ISP to customer/48/56/562562^72 each
Business site/48/64/6465,5362^64 each
Home gateway/56/64/642562^64 each
Small delegation/60/64/64162^64 each
Single LAN/64/64/6412^64 hosts
Router links/64/112/1122^4865,536 each
Host route/64/128/1282^641 each

āš™Full Method Breakdown

Expand ::The :: shorthand is replaced by enough zero groups to reach 8 groups of 16 bits, then each group is padded to 4 hex digits.
Network prefixEvery bit beyond the prefix length is masked to 0. A /48 keeps groups 1 to 3 and clears groups 4 to 8, giving the first address.
Total addressesAddresses = 2^(128 āˆ’ prefix). A /64 holds 2^64, and a /48 holds 2^80. Values this large are shown as powers of two.
/64 subnetsFor a prefix N up to 64, the number of /64 subnets equals 2^(64 āˆ’ N). A /48 contains 2^16 = 65,536 subnets of /64.
Split countSplitting a /N into a longer /M yields 2^(M āˆ’ N) child subnets, each holding 2^(128 āˆ’ M) addresses.
CompressionThe longest run of zero groups collapses to :: for display, while the expanded form keeps all 8 groups for masking clarity.
Address typeThe leading bits select the class: 001 is global unicast, 1111 1110 10 is link-local, and 1111 1111 is multicast.

šŸ“‹Reference Values

ItemCommon ValueHow It Is UsedEffect on Count
Prefix length/32 to /64Sets network vs host splitLonger prefix, fewer addresses
Zero compression:: once per addressCollapses one zero runDisplay only, no bit change
Nibble boundaryEvery 4 bitsAligns hex digits to prefixClean subnetting at nibbles
Subnet split/48 to /642^(M āˆ’ N) children65,536 /64 subnets from /48
Host portionLower 64 bitsInterface identifier space2^64 hosts per /64

šŸ’”Practical IPv6 Tips

Subnet on nibbles: Choosing prefixes that land on a 4-bit boundary, such as /48, /52, /56, and /60, keeps a single hex digit per subnet and makes the address plan easy to read and delegate.
Keep /64 for LANs: Stateless address autoconfiguration expects 64 host bits, so a LAN should almost always be a /64. Split larger blocks down to /64 rather than borrowing from the host portion.

An IPv6 address might appear to be a coordinate system masquerading as a number. While it’s true that IPv4 made us feel like we were running out of street addresses in an expanding city, IPv6 give each grain of sand on planet Earth its own plot of land. It’s a lot, but math isn’t mystical.

All you have to know is how to map those long strings of hex digits into host and network numbers. You put in your block size into the calculator above, and it does the rest for you. When it’s time to slice up a network, instead of having to convert back and forth between decimal, hexadecimal and binary, you saves time.

How to Plan an IPv6 Network

Put in the prefix length and base address, and it will tell you just how many subnets you’ll be able to create out of this, as well as how many device will be supported on each subnet. That’s all down to learning what goes in for your particular situation.

The prefix notation also trips many folks up because it goes in reverse of how most people thinks about IP masking. The longer the prefix is, the narrower it makes the scope (right down to just one host). The shorter the prefix, the bigger block of addresses. An ISP that’s handing out blocks to its customers may be working with a /48, which is huge. That block has 65,536 individual /64 subnets. There is enough room for dozens of internal network so you never have to use the same address again.

And that /64 size? No coincidence there either. There’s a reason why we use it as the standard. We need to have a full 64 bits available for the interface identifier, otherwise you don’t support Stateless Address Autoconfiguration. Shrink your LAN subnet and make it into a /80 just to save some IP address space, and suddenly your network stops working for standard operating systems because they is expecting that 64-bit host portion.

The calculator shows you that it will always be powers of two when you split up a bigger block into smaller blocks. Twenty-five-six /64s out of a /56. You get sixteen from a /60. Binary arithmetic is doing precisely what it was built to do. That’s where this common set of bounds is spelled-out in the reference table on the page, giving you an idea of why they prefers some prefixes over others.

Remember nibbles? Because IPv6 addresses use hexadecimal digits, nibble alignment makes the subnet mask human readable. You can end it off cleanly in two groups for a /32. Use three groups for a /48, and so on. If you try to break a network at some other boundary that isn’t a nibble, then you get ugly hex digits that make troubleshooting difficult down the road. They do it for a reason, and sticking with the clean lines will make your network documentation look like a pro and not a mess.

For people dealing with a mix of networks, there’s also an address type detector. The overwhelming bulk (2000::/3) of all traffic on the public internet uses global unicast addresses. Unique local addresses (fc00::) serves a similar role to private IPv4 space. Next up are the ones you’ll see first when you don’t yet have a global IP: link-local addresses beginning with fe80::. These only exist on the immediate physical link, they’re used to discover routers! And then there are unique local addresses, found in the fc00:: range, which play a similar role to private IPv4 space except with much bigger allocations. If you know what kind of address yours is, it can tells you how it should be routed and how it should be secured.

In practice, planning an IPv6 network isn’t nearly as much about ā€œgotta have some IP addresses!ā€ and more about figuring out the hierarchy. How deep do you want to dig for subnets? Do you want to give each floor its own subnet or each department? You can get a live preview of child subnets, allowing you to visualize where your /48 will split off into a series of /64s or /56s prior to committing to a design. It takes the guesswork out of subnet delegation.

To conclude. IPv6 promises plenty, but plenty without any structure isn’t much of a promise. IPv6 networks will soon devolve into chaos if you don’t establish some sort of structure for prefixes with consistent length and well-defined boundaries. Create a network that naturaly expands by adhering to the /64 host rule and making sure your subnet boundaries are aligned with standard nibble boundaries. Once you quit forcing the math to fit and let the underlying binary logic take over, it’s really not so complicated.

It would of been easier if we had more space.

IPv6 Subnet Calculator: Prefix, Subnets & Address Count