IPv6 Subnet Calculator
Expand or compress an IPv6 address, calculate its CIDR range and scope, create reverse DNS names, and plan exact child prefixes with 128-bit arithmetic.
- ipv6 subnet
- ipv6 cidr
- ipv6 prefix
- ipv6 address range
- ipv6 expander
Compressed, expanded, IPv4-mapped, or CIDR notation; any embedded /prefix must match the field below.
Network bits from 0 to 128, such as 48, 56, 64, 127, or 128.
The longer prefix you want to allocate inside the parent, such as /64 children from a /56.
Zero-based decimal index. Text input preserves very large exact values.
Show the first 1 to 16 child prefixes in the results table.
Status: initial
Results
Awaiting calculation
Exact IPv6 subnet math without IPv4 assumptions
The IPv6 Subnet Calculator accepts compressed, expanded, IPv4-mapped, or matching CIDR notation and performs exact 128-bit calculations. It returns canonical and expanded forms, the parent prefix, first and last addresses, address and /64 capacity, address scope, reverse DNS names, a selected child prefix, and a preview of child allocations. IPv6 has no broadcast address, so the last address is reported only as a mathematical range boundary.
Plan, verify, and document IPv6 prefixes
Use this tool when checking an ISP or cloud allocation, building an IP address management plan, studying subnetting, preparing reverse DNS, validating a route, or dividing a site prefix into smaller assignments. Treat the result as auditable address math, not as an automatic routing, SLAAC, DHCPv6, DNS, firewall, or security design.
How the calculator works
An IPv6 address is expanded to 32 hexadecimal digits and stored as an exact BigInt. A prefix mask keeps the selected network bits and clears the remaining bits. Address and child-prefix counts are powers of two, while a child index is multiplied by the child block size to locate that allocation inside the parent.
Variable explanations
Understand what each input and result means before calculating.
🌐 IPv6 address
Enter eight hextets, use :: once to compress the longest zero run, or enter an IPv4-mapped tail. A zone identifier such as %eth0 is interface-local metadata and is intentionally rejected.
🧭 Parent prefix
The slash length identifies how many leading bits belong to the routed network. Confirm it from the authoritative allocation source rather than inferring it from the address text.
🧩 Child prefix
A longer prefix divides the parent into equal blocks. Use hierarchy bits deliberately for region, site, zone, function, security boundary, or tenant while keeping route aggregation practical.
#️⃣ Child index
Index 0 selects the first child, index 1 the second, and so on. The field accepts a decimal string so allocations beyond 2^53 remain exact.
📚 Prefix preview
The preview shows the first few children for orientation. It does not enumerate huge allocations or replace an IPAM record of assigned, reserved, and available ranges.
🔎 Address scope
The calculator identifies common special-purpose categories including unspecified, loopback, IPv4-mapped, multicast, link-local, unique local, documentation, and global unicast.
↩️ Reverse DNS
IPv6 reverse DNS uses nibble-reversed ip6.arpa names. A parent prefix divisible by four maps cleanly to a nibble boundary; other prefixes require a deliberate delegation method.
64️⃣ The /64 convention
/64 is customary on SLAAC LANs because it provides a 64-bit interface identifier, but it is not a universal answer for every link. Point-to-point, loopback, and routed-prefix designs can use other lengths under applicable standards and platform rules.
Reviewed by the Calculator.org.in Editorial Team
Formula behavior, validation cases, explanatory examples, and cited sources are checked before publication. This review supports educational accuracy and is not a substitute for qualified professional advice.
Last reviewed: 2026-08-10
Formula guide
See the calculation logic, variable definitions, and practical meaning.
Parent network prefix
network = IPv6 address AND prefix mask
- The prefix mask contains N leading 1 bits and 128 − N trailing 0 bits
- N is the parent prefix length from /0 to /128
Clearing the interface bits produces the first address and canonical CIDR base for the parent prefix.
Last address
last = network + 2^(128 − N) − 1
- 128 − N is the number of interface or host bits
- The result is a mathematical boundary, not an IPv6 broadcast address
IPv6 does not use IPv4 broadcast addressing, but a range still has a numerically highest address.
Address capacity
addresses = 2^(128 − N)
- A /64 contains 2^64 addresses
- A /128 contains one address
The exact decimal result is preserved even when it is far beyond JavaScript's safe integer range.
Contained /64 prefixes
number of /64s = 2^(64 − N), when N ≤ 64
- A /48 contains 65,536 /64s
- A /56 contains 256 /64s
For a parent longer than /64, the calculator marks this count as not applicable rather than showing a fraction.
Child-prefix count
children = 2^(child prefix − parent prefix)
- The child prefix must be equal to or longer than the parent
- Moving from /56 to /64 adds 8 subnet bits and creates 256 children
Each added subnet bit doubles the number of equal-size child prefixes.
Selected child prefix
child network = parent network + child index × 2^(128 − child prefix)
- The child index is zero-based
- The index must be smaller than the child-prefix count
Using a decimal text index keeps very large selections exact.
Reverse DNS
reverse all 32 address nibbles and append .ip6.arpa
- One hexadecimal nibble represents four bits
- Simple prefix-zone delegation is possible when the prefix is divisible by four
A full-address PTR owner uses every nibble; non-nibble-aligned prefix delegation needs additional DNS design.
Worked examples
Follow realistic inputs through the calculation step by step.
Worked example
Documentation /64 divided into /68 children
- 1Enter 2001:db8:1234:5678::1 with parent /64 and child /68.
- 2The network is 2001:db8:1234:5678::/64 and there are 16 child /68 prefixes.
- 3Child index 3 is 2001:db8:1234:5678:3000::/68.
Worked example
Site /56 divided into LAN /64s
- 1Enter the assigned /56 base and select child /64.
- 2Eight additional subnet bits create 256 equal /64 children.
- 3Reserve and document child indices before advertising routes or enabling router advertisements.
Worked example
Organization /48 capacity
- 1Set the parent prefix to /48 and the child prefix to /64.
- 2The result contains 65,536 /64 prefixes.
- 3Use the hierarchy intentionally instead of assigning child numbers ad hoc.
Worked example
Loopback host route
- 1Enter ::1 with both parent and child prefix set to /128.
- 2The first and last address are both ::1 and the address count is one.
- 3The scope is classified as loopback.
Worked example
Point-to-point prefix check
- 1Enter the address and set the prefix to /127 when that design is supported and intended.
- 2The result contains two addresses and no broadcast address.
- 3Confirm interface, routing, neighbor-discovery, and security behavior on the actual platform.
Worked example
Unique local allocation
- 1Enter a properly generated fd00::/8 unique-local address and its assigned prefix.
- 2The calculator labels it unique local and creates the requested children.
- 3Do not treat ULA as a substitute for globally routable addressing or as a security control by itself.
Worked example
Reverse DNS for a nibble-aligned prefix
- 1Enter the prefix and choose a parent length divisible by four, such as /48 or /64.
- 2Copy the displayed prefix reverse zone for planning.
- 3Coordinate actual delegation and PTR records with the address provider and authoritative DNS operator.
Common mistakes
Avoid these common input and interpretation errors.
Looking for a broadcast address
IPv6 does not use broadcast. The highest value shown is only the last mathematical address in the prefix.
Treating every prefix as a /64
/64 is central to SLAAC and common LAN design, but point-to-point links, loopbacks, delegated prefixes, and other contexts can require different lengths.
Confusing a parent allocation with a single LAN
A /48 or /56 is commonly divided into child prefixes. Assigning the entire parent to one segment can waste hierarchy and weaken aggregation.
Using floating-point address math
IPv6 values exceed JavaScript's safe-number range. This calculator uses BigInt so counts, ranges, and child indices remain exact.
Counting only visible hexadecimal digits
Each hexadecimal digit is four bits, while each hextet is 16 bits. Prefix boundaries do not always align with a full hextet.
Assuming compressed text changes the address
Leading-zero suppression and :: compression change notation only. Expanded and canonical compressed forms represent the same 128-bit value.
Ignoring scope
Link-local, unique-local, multicast, documentation, loopback, and global-unicast addresses have different intended behavior and routing expectations.
Delegating non-nibble reverse zones casually
Standard ip6.arpa labels are hexadecimal nibbles. A prefix that is not divisible by four needs an explicit DNS delegation approach.
Selecting an out-of-range child index
For P parent bits and C child bits, valid zero-based indices run from 0 through 2^(C−P)−1.
Deploying from calculator output alone
Routing, RA, DHCPv6, DNS, firewall, monitoring, IPAM, platform behavior, and change controls must be reviewed together.
Frequently asked questions
Quick answers to the questions users ask most often.
What does an IPv6 subnet calculator calculate?
Does IPv6 have a broadcast address?
How many addresses are in an IPv6 /64?
How many /64s are in a /48?
How many /64s are in a /56?
Must every IPv6 subnet be /64?
What is the difference between compressed and expanded IPv6?
What is canonical IPv6 notation?
Can I enter an address with /prefix notation?
Can I enter an IPv4-mapped IPv6 address?
Why is the child subnet index a text field?
How is a child prefix calculated?
What is an IPv6 reverse DNS name?
Why does reverse DNS prefer nibble-aligned prefixes?
What is a unique local IPv6 address?
What is a link-local IPv6 address?
Can this calculator replace IPAM or engineering review?
References
Sources used to support the calculator guidance.
- RFC 4291: IP Version 6 Addressing Architecture
- RFC 5952: A Recommendation for IPv6 Address Text Representation
- RFC 8200: Internet Protocol, Version 6 (IPv6) Specification
- RFC 4007: IPv6 Scoped Address Architecture
- RFC 4193: Unique Local IPv6 Unicast Addresses
- RFC 3596: DNS Extensions to Support IP Version 6
- RFC 6177: IPv6 Address Assignment to End Sites
- RFC 7421: Analysis of the 64-bit Boundary in IPv6 Addressing
- RFC 6164: Using 127-Bit IPv6 Prefixes on Inter-Router Links
- IANA IPv6 Special-Purpose Address Registry
Related calculators
Continue with calculators that solve nearby problems.
- IPv4 Subnet & IP Address Calculator
- Scientific Calculator
- Proportion Calculator
- Voltage Drop Calculator
Version history
A transparent record of calculator content updates.
- 1.0.0 · 2026-08-10
Initial release with exact 128-bit range, notation, scope, reverse DNS, and child-prefix planning.
