Understanding IPv6 subnetting before you calculate a range
This IPv6 subnet calculator helps you handle the three tasks that usually come together when you are checking a prefix: expand a compressed address into full notation, apply a chosen prefix length, and identify the subnet boundaries that result. If you have ever looked at an address like 2001:db8::1/64 and wondered which bits belong to the network and how large the block really is, this tool is meant for that question. Enter an IPv6 address in compressed or fully expanded form, choose a prefix from /0 through /128, and the calculator shows the expanded address, network address, first address, last address, and total address count for the range.
IPv6 uses eight hextets of hexadecimal digits separated by colons. Because those addresses are long, the notation allows leading zeros to be dropped and one run of zero groups to be compressed with a double colon. This calculator accepts either version and normalizes it before any arithmetic, so you can paste the form from a routing plan, interface configuration, or note and still get the same subnet result.
In IPv6 subnetting, the prefix length decides how many leftmost bits belong to the network and how many remain for interface identifiers. A /64 keeps the first sixty-four bits for the prefix and leaves sixty-four bits for the host side. The number of possible addresses depends entirely on those remaining bits, and the count can be expressed with the formula:
Formula: N = 2^128-p
where is the prefix length. For a /64 subnet, the calculation becomes , yielding over eighteen quintillion addresses. That figure is so large that IPv6 address planning is usually about structure, delegation, and summarization rather than squeezing out every last address the way IPv4 often did.
To compute the network address, the calculator converts the input address to a 128-bit integer. It then generates a mask where the first p bits are ones and the remaining bits are zeros. Applying a bitwise AND operation between the address and mask clears the host portion, revealing the network identifier. The process can be summarized by the equation:
Formula: A_net = A & 2^p - 1 << 128 - p
Here represents the numerical address value. Shifting the mask ensures it occupies the most significant bits. Once the network base is known, the calculator also shows the first host address, which matches the network address in IPv6 because there is no broadcast reservation, and the last address, which comes from setting all host bits to one.
If you are coming from IPv4, it is important to dispel another common misconception. IPv6 does not use broadcast; multicast fills that role instead. That means the lowest and highest addresses in a subnet are usable from the protocol's point of view, even though an organization may still reserve certain values by local policy. This calculator follows the protocol rules and therefore reports the first host as the network address and the last host as a usable endpoint.
How to use this IPv6 subnet calculator effectively
Start by entering the IPv6 address you already have. The tool accepts compressed values such as 2001:db8::1 and fully expanded values such as 2001:0db8:0000:0000:0000:ff00:0042:8329. Next, enter the prefix length. Many plans use /48 for larger delegations, /56 for smaller allocations, and /64 for ordinary LAN segments. After you click Calculate, the results table expands to show the normalized address and the subnet boundaries derived from your input. If you are documenting a plan, the Copy Result button packages the status line and table values into a clipboard-ready block.
What should you look for in the result? The expanded address is useful when you need to compare hextets visually or verify that a compressed address was typed correctly. The network address confirms which subnet the host belongs to after all host bits are cleared. The first and last addresses show the edges of the subnet. Finally, the total address count gives you a sense of scale. For narrow operational subnets such as /127 point-to-point links, the total is tiny and easy to grasp. For /64 and shorter prefixes, the numbers quickly become enormous, which is normal in IPv6.
Worked example: checking a compressed IPv6 address at /64
Suppose you enter 2001:db8:1234:5678:abcd::42 with a prefix of /64. When the calculator expands the address, it becomes 2001:0db8:1234:5678:abcd:0000:0000:0042. Because a /64 fixes the first four hextets, the network portion is 2001:db8:1234:5678::/64. The first address in that subnet is therefore 2001:db8:1234:5678::, and the last address is 2001:db8:1234:5678:ffff:ffff:ffff:ffff. The host field has sixty-four bits, so the subnet contains 264 possible addresses. In practice, you would never enumerate them one by one, but seeing the exact network start and end values is very helpful when checking router advertisements, static routes, DHCPv6 pools, firewall policies, or inventory records.
Now compare that same address with a /80 prefix. The first five hextets are fixed instead of the first four, so the network becomes 2001:db8:1234:5678:abcd::/80. The last address contracts to 2001:db8:1234:5678:abcd:ffff:ffff:ffff. The subnet is still large in human terms, but it is dramatically smaller than a /64 because only forty-eight host bits remain. This is why prefix length matters so much: every extra network bit halves the remaining address capacity and makes the subnet more specific.
Common IPv6 prefix lengths and what they imply
The table below shows how IPv6 prefix length changes the size of the host portion. You do not need to memorize every count; the point is to build intuition for how quickly the address space shrinks when you add network bits. A /48 is broad, a /64 is the usual size for a standard subnet, and a /96 already leaves a much smaller host space.
Example IPv6 prefix sizes and address counts
| Prefix |
Host Bits |
Addresses |
| /48 |
80 |
1,208,925,819,614,629,174,706,176 |
| /56 |
72 |
4,722,366,482,869,645,213,696 |
| /64 |
64 |
18,446,744,073,709,551,616 |
| /80 |
48 |
281,474,976,710,656 |
| /96 |
32 |
4,294,967,296 |
Those counts are most useful when you are planning delegation boundaries. A provider might hand out a /48 so an organization can create 216 individual /64 subnets for campuses, VLANs, labs, or departments. Home networks often receive a /56 or /64, which leaves room for separate segments without any pressure to conserve addresses the way IPv4 often did. In IPv6, the abundance of space lets designers prioritize clean hierarchy and route aggregation instead of awkward conservation tricks.
Subnet boundaries also matter in neighbor discovery and stateless address autoconfiguration. Devices combine the network prefix with an interface identifier to create a full IPv6 address, whether the identifier comes from EUI-64 derivation, temporary privacy addresses, or another local scheme. Whatever the method, the subnet boundary still determines which bits are fixed and which bits vary, and that is the boundary this calculator exposes. When two addresses need to be checked for same-link membership, masking is far more reliable than guessing by eye.
Internally, the calculator uses BigInt to handle 128-bit values exactly in the browser. Parsing works by expanding abbreviated addresses where a double colon appears and filling the missing zero groups. Once the address is normalized to eight hextets, each group becomes a 16-bit value that is shifted into one 128-bit number. Because the work happens locally, you can check subnet math without sending address data anywhere else.
This page treats the subnet mathematically rather than trying to infer local policy. It will not assume router reservations, server ranges, or any organization-specific exclusions. Those conventions are real, but they differ from one network to another. The calculator stays neutral and tells you the prefix, range, and size so you can layer your own operational rules on top.
For teams moving from IPv4 to IPv6, the main shift is not conservation but structure. Instead of minimizing waste, you usually choose stable prefixes that support delegation, summarization, and documentation. A clear prefix plan is easier to read in routing tables, easier to automate, and easier to audit later. That is why understanding the subnet boundary remains important even when the address pool is huge.
The optional game farther down the page reinforces the same prefix ideas in a visual way. For fast play it uses familiar hextet-aligned prefixes such as /32, /48, /64, /80, and /96 because those are easy to compare at a glance. The calculator itself is more general and supports every prefix length from /0 through /128, including boundaries like /63, /73, and /127.
Recording an IPv6 subnet plan
Once the results table is populated, use the copy button to capture the expanded address, network range, and address count. Saving those details in a network journal, IPAM system, configuration repository, or change record helps keep IPv6 assignments consistent and makes future audits easier. IPv6 is much easier to manage when each subnet is documented with its prefix, purpose, and boundary instead of being remembered from memory.
Limitations and assumptions for IPv6 prefix calculations
This IPv6 subnet calculator makes a few deliberate assumptions so the math stays clear and predictable. It performs pure address arithmetic under RFC 4291 and does not apply operational policy: it will not reserve low addresses for routers, flag documentation ranges such as 2001:db8::/32, or separate global, unique-local, and link-local scopes. It reports the first host address as equal to the network address because IPv6 has no broadcast reservation, so any local reservation scheme must be added on top of the result. It also assumes a single :: contraction and a prefix expressed as a whole number from 0 to 128; zone identifiers such as %eth0 and embedded IPv4 suffixes are outside its scope. Finally, the huge totals are mathematical capacities, not realistic device counts, so treat them as scale rather than a provisioning target.
Frequently asked questions about IPv6 subnet ranges
How many addresses are in an IPv6 subnet?
In this IPv6 subnet calculator, the number of addresses in a subnet is 2 raised to the power of the host bits, where the host bits equal 128 minus the prefix length. A /64 therefore has 2 to the 64th power addresses, about 18.4 quintillion, and each extra network bit halves the remaining capacity.
Does IPv6 have a broadcast or reserved last address?
No. IPv6 has no broadcast address, and it uses multicast instead. In this calculator, the first host address is the same as the network address, and the last address is shown as usable because neither end is reserved by the protocol.
What is the double colon in an IPv6 address?
The double colon is shorthand that replaces one run of consecutive all-zero groups so the address is shorter to write. It may appear only once in an address. The calculator expands it back to eight groups before doing any arithmetic.
Enter an IPv6 address and prefix to see the subnet range.