Calculator.org.in
Calculator

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

Calculator guide

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

Review process

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.

1

Worked example

Documentation /64 divided into /68 children

  1. 1Enter 2001:db8:1234:5678::1 with parent /64 and child /68.
  2. 2The network is 2001:db8:1234:5678::/64 and there are 16 child /68 prefixes.
  3. 3Child index 3 is 2001:db8:1234:5678:3000::/68.
2

Worked example

Site /56 divided into LAN /64s

  1. 1Enter the assigned /56 base and select child /64.
  2. 2Eight additional subnet bits create 256 equal /64 children.
  3. 3Reserve and document child indices before advertising routes or enabling router advertisements.
3

Worked example

Organization /48 capacity

  1. 1Set the parent prefix to /48 and the child prefix to /64.
  2. 2The result contains 65,536 /64 prefixes.
  3. 3Use the hierarchy intentionally instead of assigning child numbers ad hoc.
4

Worked example

Loopback host route

  1. 1Enter ::1 with both parent and child prefix set to /128.
  2. 2The first and last address are both ::1 and the address count is one.
  3. 3The scope is classified as loopback.
5

Worked example

Point-to-point prefix check

  1. 1Enter the address and set the prefix to /127 when that design is supported and intended.
  2. 2The result contains two addresses and no broadcast address.
  3. 3Confirm interface, routing, neighbor-discovery, and security behavior on the actual platform.
6

Worked example

Unique local allocation

  1. 1Enter a properly generated fd00::/8 unique-local address and its assigned prefix.
  2. 2The calculator labels it unique local and creates the requested children.
  3. 3Do not treat ULA as a substitute for globally routable addressing or as a security control by itself.
7

Worked example

Reverse DNS for a nibble-aligned prefix

  1. 1Enter the prefix and choose a parent length divisible by four, such as /48 or /64.
  2. 2Copy the displayed prefix reverse zone for planning.
  3. 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?
It calculates the parent network prefix, first and last addresses, exact capacity, address notation and scope, reverse DNS names, and selected child-prefix ranges.
Does IPv6 have a broadcast address?
No. IPv6 uses multicast and other mechanisms instead of IPv4 broadcast. The calculator labels the highest address only as the last mathematical address.
How many addresses are in an IPv6 /64?
A /64 contains 2^64, or 18,446,744,073,709,551,616, addresses.
How many /64s are in a /48?
A /48 contains 2^(64−48), or 65,536, separate /64 prefixes.
How many /64s are in a /56?
A /56 contains 2^(64−56), or 256, separate /64 prefixes.
Must every IPv6 subnet be /64?
No. /64 is customary and required for common SLAAC behavior, but other link and routing contexts can use other prefix lengths under applicable standards and platform requirements.
What is the difference between compressed and expanded IPv6?
Expanded notation shows all eight four-digit hextets. Compressed notation suppresses leading zeros and replaces one longest zero run with ::; the 128-bit address is unchanged.
What is canonical IPv6 notation?
The calculator follows RFC 5952-style conventions: lowercase hexadecimal, suppressed leading zeros, and compression of the first longest run of at least two zero hextets.
Can I enter an address with /prefix notation?
Yes, provided the embedded prefix matches the separate parent prefix field so the calculation is unambiguous.
Can I enter an IPv4-mapped IPv6 address?
Yes. A dotted-decimal tail such as ::ffff:192.0.2.128 is parsed and normalized as an IPv4-mapped IPv6 address.
Why is the child subnet index a text field?
A text field preserves exact decimal integers beyond JavaScript's safe numeric range before BigInt arithmetic is applied.
How is a child prefix calculated?
The zero-based child index is multiplied by the child block size, 2^(128−child prefix), and added to the parent network address.
What is an IPv6 reverse DNS name?
IPv6 reverse DNS uses one label per reversed hexadecimal nibble beneath ip6.arpa. A full PTR owner therefore uses all 32 address nibbles.
Why does reverse DNS prefer nibble-aligned prefixes?
Each ip6.arpa label represents four bits, so prefixes divisible by four map directly to a DNS delegation boundary.
What is a unique local IPv6 address?
Unique local addresses use fc00::/7, with locally assigned prefixes commonly beginning fd. They are not intended to be globally routed.
What is a link-local IPv6 address?
Link-local unicast uses fe80::/10 and is limited to the local link; interfaces commonly use zone identifiers outside the address value to disambiguate links.
Can this calculator replace IPAM or engineering review?
No. It provides exact math and a small preview, but assignments, reservations, routing, DNS, security, and lifecycle records belong in an authoritative IPAM and reviewed design.

Version history

A transparent record of calculator content updates.

Updated 2026-08-10
  • 1.0.0 · 2026-08-10

    Initial release with exact 128-bit range, notation, scope, reverse DNS, and child-prefix planning.