IPv6 Subnet Calculator
Calculate IPv6 prefix ranges and address boundaries
Network Information
Size Information
Address Formats
The IPv6 Subnet Calculator computes prefix ranges, address boundaries, and total address counts for any IPv6 address with prefix notation. Enter a value like 2001:db8::/32 or fe80::1/64 to instantly determine the network prefix, last address in the range, and the total number of addresses in the subnet.
Understanding IPv6 Subnetting
If you are managing a modern network, IPv6 is no longer optional. Most ISPs now assign IPv6 prefixes alongside IPv4, and major cloud platforms default to dual-stack deployments. The core idea behind IPv6 subnetting is the same as IPv4 -- you split an address into a network portion and a host portion -- but the scale and conventions are completely different. Instead of worrying about squeezing 14 hosts into a /28, you are working with a /64 that contains more addresses than the entire IPv4 internet could ever dream of.
The standard IPv6 allocation model is hierarchical. A Regional Internet Registry (RIR) assigns a large block to an ISP, typically a /32 or /29. The ISP then hands out /48 prefixes to organizations and /56 prefixes to residential customers. Within your /48, you carve out /64 subnets for individual LAN segments, one per VLAN or broadcast domain. The /64 boundary is not arbitrary -- it is required by Stateless Address Autoconfiguration (SLAAC), which uses the lower 64 bits as the Interface Identifier. If you use a prefix longer than /64 on a segment where hosts need to autoconfigure, SLAAC will break.
This calculator takes any IPv6 address and prefix length, masks the address to the prefix boundary, and returns the network prefix, last address, and total address count. Whether you are subdividing a /48 into campus subnets or verifying that a link-local address falls within fe80::/10, the tool handles the 128-bit math so you do not have to convert hexadecimal by hand.
How to Calculate IPv6 Subnets
- Enter an IPv6 address with prefix length (e.g.,
2001:db8:abcd:1234::1/64) - The calculator masks the address to the prefix boundary to find the network prefix
- All host bits are set to 1 to determine the last address in the range
- The total number of addresses is computed as 2^(128 - prefix length)
- Results display both the prefix and the full address range in compressed notation
IPv6 Subnet Calculation Examples
| Input | Network Prefix | Last Address | Total Addresses |
|---|---|---|---|
2001:db8::/32 | 2001:db8:: | 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff | 2^96 (~79 octillion) |
2001:db8:abcd::/48 | 2001:db8:abcd:: | 2001:db8:abcd:ffff:ffff:ffff:ffff:ffff | 2^80 |
fe80::1/64 | fe80:: | fe80::ffff:ffff:ffff:ffff | 2^64 (~18.4 quintillion) |
2001:db8:1::/64 | 2001:db8:1:: | 2001:db8:1::ffff:ffff:ffff:ffff | 2^64 |
fd00:cafe::/48 | fd00:cafe:: | fd00:cafe:ffff:ffff:ffff:ffff:ffff:ffff | 2^80 |
2001:db8:1::1/128 | 2001:db8:1::1 | 2001:db8:1::1 | 1 |
When to Use This Tool
- Planning enterprise IPv6 deployments -- determine how many /64 subnets fit inside your allocated /48
- Configuring dual-stack networks -- verify IPv6 prefix boundaries alongside IPv4 subnets
- Setting up IPv6 routing policies -- confirm prefix ranges for route summarization
- Allocating data center address space -- calculate per-rack or per-pod prefix assignments
- Understanding SLAAC requirements -- verify that end-user subnets use the required /64 prefix
- Auditing ISP allocations -- check how a /32 or /29 assignment subdivides
- Designing ULA addressing -- plan private fd00::/8 networks for internal use
How IPv6 Addressing and Subnetting Works
IPv6 Address Structure
IPv6 uses 128-bit addresses written as eight groups of four hexadecimal digits separated by colons. Consecutive groups of all zeros can be collapsed using :: notation (allowed once per address).
Full: 2001:0db8:0000:0000:0000:0000:0000:0001
Compressed: 2001:db8::1
Standard Allocation Hierarchy
| Prefix Length | Typical Assignment | Subnets Available |
|---|---|---|
/29 | Large ISP from RIR | 524,288 /48 blocks |
/32 | ISP allocation from RIR | 65,536 /48 blocks |
/48 | Organization / site | 65,536 /64 subnets |
/56 | Residential customer (common) | 256 /64 subnets |
/64 | Single LAN segment | 1 subnet (18.4 quintillion hosts) |
/128 | Single host / loopback | 1 address |
Why /64 Is the Minimum Subnet
The IPv6 standard reserves the lower 64 bits as the Interface Identifier for Stateless Address Autoconfiguration (SLAAC). Hosts generate their own addresses using EUI-64 or privacy extensions within a /64 prefix. Using a prefix longer than /64 breaks SLAAC and is generally discouraged for end-user subnets.
Point-to-point links are the one exception. RFC 6164 recommends /127 for inter-router links (similar to IPv4 /31), which avoids wasting a /64 on a two-device segment and eliminates the ping-pong vulnerability associated with the Subnet-Router anycast address on /64 point-to-point links.
IPv6 Address Types
| Prefix | Type | Purpose |
|---|---|---|
2000::/3 | Global Unicast | Routable on the public internet |
fe80::/10 | Link-Local | Single-link communication only |
fc00::/7 | Unique Local (ULA) | Private addressing, similar to IPv4 RFC 1918 |
ff00::/8 | Multicast | One-to-many delivery |
::1/128 | Loopback | Equivalent to IPv4 127.0.0.1 |
Subnetting a /48 Into /64s
When you receive a /48 from your ISP, bits 49 through 64 become your Subnet ID -- 16 bits that give you 65,536 distinct /64 subnets. A common approach is to use the Subnet ID to encode site, building, floor, and VLAN information:
2001:db8:abcd:0001::/64 β Building 0, VLAN 1
2001:db8:abcd:0002::/64 β Building 0, VLAN 2
2001:db8:abcd:0100::/64 β Building 1, VLAN 0
2001:db8:abcd:0101::/64 β Building 1, VLAN 1
This structured approach makes it easy to write prefix-list filters, summarize routes at building boundaries, and troubleshoot which segment a host belongs to just by reading its address.
IPv6 Subnetting in Practice
The biggest adjustment for engineers coming from IPv4 is to stop conserving addresses. In IPv4, you carefully choose between a /27 and a /28 to avoid wasting space. In IPv6, every end-user subnet gets a /64 -- period. There is no reason to use a /80 or /96 for a LAN, and doing so breaks SLAAC and causes problems with neighbor discovery. The address space within a single /64 is so vast that utilization tracking at the host level is meaningless. Focus instead on tracking your /64 subnet allocations within your /48.
The second challenge is getting comfortable with hexadecimal notation. When troubleshooting, you need to know that the hex digit f is 1111 in binary, that each hex group covers 16 bits, and that :: is just shorthand for one or more groups of 0000. A quick sanity check: if your prefix is /48 and the address starts with 2001:db8:abcd:, then the first three groups (48 bits) are the network prefix, the fourth group is your subnet ID, and the last four groups are the interface identifier.
Planning for IPv6 also means thinking about DNS. Forward (AAAA) records are straightforward, but reverse DNS under ip6.arpa requires one nibble per label for each hex digit. Automation tools and DDI platforms make this manageable, but you should test reverse lookups early in your deployment to catch delegation issues before they affect production services.
Frequently Asked Questions
How many /64 subnets are in a /48 allocation?
A /48 allocation provides 2^(64-48) = 2^16 = 65,536 individual /64 subnets. This is the standard allocation for a single organization or site, giving more than enough subnets for any campus or data center without further justification to the RIR.
Do IPv6 subnets have network and broadcast addresses like IPv4?
IPv6 does not use broadcast addresses. Instead, it uses multicast (e.g., ff02::1 for all-nodes) and anycast. The first address in a /64 prefix (all host bits zero) is the Subnet-Router anycast address (RFC 4291) and is reserved. In practice, the address space in a /64 is so vast that address conservation is not a concern.
What is the difference between link-local and global unicast IPv6 addresses?
Link-local addresses (fe80::/10) are automatically assigned to every IPv6-enabled interface and are only valid on the directly attached link. They cannot be routed. Global unicast addresses (2000::/3) are routable across the internet and are assigned by ISPs or RIRs. Both types can coexist on the same interface, and in fact every IPv6 interface will have at least one link-local address even if no global unicast is configured.
Should I use ULA (fd00::/8) or global unicast internally?
It depends on your requirements. ULA addresses (fd00::/8) are not routable on the public internet and work like RFC 1918 space in IPv4. They are useful if you need stable internal addressing that will never conflict with public assignments. However, many organizations prefer using their allocated global unicast space internally to simplify dual-stack operations and avoid NAT66. If you use ULA, pair it with global unicast on the same interfaces so that external communication still works without translation.
What prefix length should I use for point-to-point links?
RFC 6164 recommends /127 for inter-router point-to-point links. This mirrors the IPv4 convention of /31 (RFC 3021) and avoids wasting a full /64 on a link with only two devices. It also eliminates a potential security issue with the Subnet-Router anycast address on /64 point-to-point links. Some older equipment may not support /127, in which case /126 or even /64 can be used.
How do I plan reverse DNS for IPv6?
Reverse DNS for IPv6 uses the ip6.arpa domain, with each hexadecimal nibble (4 bits) represented as a separate label. For example, the address 2001:db8::1 has a reverse record under 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. Your ISP typically delegates a reverse zone corresponding to your /48 allocation. Within that zone, you can further delegate per-/64 subnet as needed.
Related Tools
- IPv4 Subnet Calculator - Calculate network, broadcast, and host range from CIDR notation
- Netmask β CIDR Converter - Convert between subnet mask notation and CIDR prefix length
- Total Hosts Calculator - Calculate total number of addresses in a subnet (IPv4/IPv6)
- First/Last Usable Host Calculator - Find the first and last usable host addresses in a subnet
- IP in Subnet? Checker - Check if an IP address belongs to a specific subnet
- Subnet Allocation Planner - Plan hierarchical subnet allocations for multi-site networks