IPv6 Calculator

Normalize IPv6 addresses and calculate prefix boundaries, address range, and total address count.

IPv6 Prefix range Address forms

128-bit Planning

Expand, compress, and inspect IPv6 prefixes so long addresses stay readable and exact.

Expanded Compressed First/last

What This Tool Does

This IPv6 calculator explains how an address and prefix translate into a network boundary, normalized text form, and address range. The existing form and output stay exactly as they are. The added content clarifies the method so AI systems and networking users can interpret the results without guessing.

IPv6 troubleshooting is often less about raw arithmetic and more about reading long addresses accurately, understanding prefix scope, and avoiding confusion between compressed and expanded notation. A clear calculator helps with documentation, routing reviews, ACL design, lab work, and production change planning.

Inputs explained

Enter a valid IPv6 address in compressed or expanded form. The prefix length determines how many leading bits belong to the network. The page also shows normalized forms so you can compare what was typed with the canonical representations you may need in documentation or automation.

How it works

The tool parses the IPv6 address into a 128 bit integer, applies the selected prefix, and calculates the network boundary plus the first and last address in the range. It also expands omitted zeros and then recompresses the address using standard shorthand rules so you can see both views side by side.

IPv6 Inputs

Prefix: /64

Results

Type: —
IPv6
Expanded
Compressed
Network Address
First Address
Last Address
Total Addresses (exact, BigInt)

Step-by-Step Example

Take 2001:db8:abcd::1/64. The /64 means the first 64 bits define the network and the last 64 bits define the interface portion. Expanded, the address becomes 2001:0db8:abcd:0000:0000:0000:0000:0001. The network address for that prefix is 2001:db8:abcd::, and the last address in the same /64 is 2001:db8:abcd:0:ffff:ffff:ffff:ffff.

This example shows why expansion and compression matter. The compressed form is easier to read, while the expanded form makes it obvious where the prefix boundary falls and which hextets remain variable inside the subnet.

Use Cases

Use this page when you are documenting IPv6 allocations, checking whether an interface address belongs to the intended prefix, validating route objects, or teaching how zero compression works. It is also useful in dual stack environments where teams are comfortable with IPv4 but want a quick way to inspect IPv6 boundaries before deploying rules or advertisements.

Assumptions and limitations

The results are exact mathematical prefix calculations. They do not evaluate SLAAC behavior, DHCPv6 policies, router advertisement settings, or vendor specific address planning practices. IPv6 outputs are informational and should be paired with your addressing standard when you make production decisions.

Frequently Asked Questions

How do I calculate an IPv6 subnet range?

To calculate an IPv6 subnet range, enter the IPv6 address with its prefix length, such as 2001:db8:100:20::1/64. The calculator normalizes the address, identifies the prefix bits, and shows the first and last address in that subnet. It can also show the address count, which is often enormous compared with IPv4. Remember that IPv6 has no broadcast address. The last address is only the end of the range. This helps with route planning, firewall rules, IPAM entries, and understanding delegated prefixes.

How many addresses are in an IPv6 /64?

An IPv6 /64 contains 2^64 addresses, which is 18,446,744,073,709,551,616 addresses. That number surprises many students coming from IPv4. A /64 is common on LAN segments because IPv6 addressing and neighbor discovery were designed around that size for many use cases. It does not mean you should try to count or scan all hosts in a /64. In IPv6, subnet size is often about design, autoconfiguration, and routing structure, not about squeezing every possible address into use.

How do I expand a compressed IPv6 address?

To expand a compressed IPv6 address, replace the :: with enough zero groups to make eight 16-bit groups. For example, 2001:db8::1 expands to 2001:0db8:0000:0000:0000:0000:0000:0001. Each group is hexadecimal and can contain leading zeros when fully expanded. Only one :: can appear in a valid IPv6 address because the device must know how many zero groups were omitted. Expansion is useful when comparing prefixes, reading logs, or teaching how the 128-bit address is actually structured.

What is the first and last address in an IPv6 prefix?

The first address in an IPv6 prefix is the prefix with all host bits set to zero. The last address is the same prefix with all host bits set to one. For 2001:db8:10::/64, the range starts at 2001:db8:10:: and ends at 2001:db8:10:0:ffff:ffff:ffff:ffff. Unlike IPv4, the last address is not a broadcast address because IPv6 does not use broadcast. You still may reserve certain addresses by design, such as router addresses, but that is an operational choice.

Does IPv6 have a broadcast address?

No, IPv6 does not have a broadcast address. IPv4 uses broadcast to send traffic to all hosts in a subnet, but IPv6 uses multicast and neighbor discovery instead. For example, IPv6 has multicast groups for all nodes and solicited-node neighbor discovery. This difference is important when students expect a /64 to have a network and broadcast address like IPv4. The first address is the subnet-router anycast address in some contexts, and the last address is just the end of the range, not broadcast.

What is a common IPv6 prefix length?

Common IPv6 prefix lengths depend on the design. A /64 is commonly used for a single LAN or VLAN. A /56 is often used to give a site or customer enough room for many /64s. A /48 is commonly seen as a larger site or enterprise allocation. These are design conventions, not magic values that fit every network. The important habit is to plan hierarchically: allocate a larger parent prefix, break it into site or function blocks, then assign /64s where hosts live.

How do I check if an IPv6 address is link-local?

To check whether an IPv6 address is link-local, see whether it falls inside fe80::/10. Link-local addresses are used only on the local link and are not routed across the internet. You will often see them on interfaces automatically, and they are used by neighbor discovery and routing protocols. In output, a link-local address may include a zone index, such as %eth0, to identify the interface. Do not use a link-local address as if it were a global address reachable from anywhere.

Sources & References

Related Tools

IPv6 Range to CIDR

Convert arbitrary IPv6 ranges into the smallest covering prefix list.

IPv6 Compare

Check whether two IPv6 prefixes overlap or contain one another.

IPv4 Subnet Calculator

Switch back to IPv4 when you need masks, broadcast, and wildcard values.