IPv6 Address and Subnet Calculator
Calculate an IPv6 subnet from any address or CIDR, then review the canonical range, child-prefix capacity, reverse-DNS alignment, and EUI-64 samples.Canonical IPv6 Subnet
Current result
| Metric | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Target | Subnets from current | Addresses per subnet | Typical use | Copy |
|---|---|---|---|---|
| /{{ row.target }} | {{ row.subnetCount }} | {{ row.addressesPerSubnet }} | {{ row.useCase }} |
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Target | Relationship | Anchor CIDR / span | Scale or slot | Operational note | Copy |
|---|---|---|---|---|---|
| /{{ row.target }} | {{ row.relationship }} | {{ row.anchor }} | {{ row.scale }} | {{ row.note }} |
| Address role | Canonical | Expanded | Copy |
|---|---|---|---|
| {{ row.label }} | {{ row.canonical }} | {{ row.expanded }} |
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
IPv6 subnet work often starts with a pasted address from an interface, ticket, router, or address plan. The visible text may be a host value, while the usable subnet is the range found after the lower bits are masked away. That distinction matters when the same prefix later appears in a firewall object, route table, IP address management record, or reverse-DNS delegation, because each system expects the network base and slash length to describe one exact span.
An IPv6 address is 128 bits long. CIDR notation writes a slash length after the address, and that slash length says how many leftmost bits are fixed for the prefix. The remaining bits are host or interface space inside that prefix. When someone writes 2001:db8:1200::1234/56, the ::1234 part is a host value inside the larger block. The subnet itself starts only after the lower 72 bits are cleared.
| Term | Meaning in subnet work | Common mistake |
|---|---|---|
| Address literal | The typed IPv6 value, possibly compressed or written with an IPv4 tail. | Copying a host literal as if it were the prefix base. |
| CIDR prefix | The slash length that fixes the high-order bits of the subnet. | Changing text format but forgetting that the numeric range stays the same. |
| Interface ID | The lower bits used to identify an interface within a subnet, most often 64 bits for ordinary SLAAC networks. | Treating every longer-than-/64 prefix as a normal client LAN. |
| Reverse-DNS nibble | A four-bit hexadecimal boundary used when building ip6.arpa PTR names. |
Assuming any valid routed prefix can be delegated as a clean reverse zone. |
The /64 boundary has special practical weight because stateless address autoconfiguration and many interface-identifier rules expect a 64-bit interface ID on ordinary unicast links. Broader prefixes such as /48, /56, and /60 are often planning containers that can be split into many /64 LANs. Narrower prefixes can be valid for point-to-point links, loopbacks, dense service pools, or static infrastructure, but they should not be read as generic client subnets without checking the network design.
Address text adds another failure mode. IPv6 allows leading-zero omission, one compressed run of zero hextets, mixed case, and IPv4-style tails for specific forms. Canonical lowercase text does not change the address, but it makes tickets, spreadsheets, firewall entries, and DNS owner names easier to compare because the same numeric value appears in one preferred form.
Subnet math also cannot prove that a block is usable for a particular job. Documentation space, link-local space, multicast, translation prefixes, transition ranges, benchmarking blocks, and other special-purpose records have operational meanings that raw address counts do not reveal. Reverse DNS adds its own check because IPv6 PTR names are delegated one hexadecimal nibble at a time under ip6.arpa; a mathematically valid /61 still cuts through a hex digit and needs extra DNS handling.
How to Use This Tool:
Start with the address or block you need to review, then add planner details only when you are carving child prefixes, checking reverse DNS, or building a host example.
- Enter an
IPv6 address or CIDR. Compressed, expanded, mixed-case, and IPv4-tail forms are accepted when they describe a valid IPv6 literal; a blank or malformed value shows an input warning instead of a result. - Set
Prefix lengthfrom/0to/128. LeaveUse CIDR suffix if presenton when a pasted slash length should control the calculation, or turn it off to test the same address against the manual prefix. - Open
Advancedwhen you want a scenario preset, aPlanner target prefix, aTarget subnet index, aSample host offset, aSample MAC for EUI-64, or an RFC 5952 text warning. - Read the summary before copying anything.
Canonical IPv6 Subnet, the host-bit count, the scope badge, the reverse-DNS badge, and the status badge show the main subnet boundary and the first cautions. - Use
Prefix Metricsfor the canonical address, network range, address count, /64 split capacity, reverse zone anchor, and guidance text. UseRange Identityto check whether the address belongs to a special-purpose range. - Use
Allocation Planner,Prefix Capacity Ladder,Target Prefix Plan, andDelegation Boundarieswhen comparing common parent and child prefixes. An oversized target subnet index is clamped to the last available child and reported in the warning area. - Use
Reverse DNS,Reverse Boundary Map,Address Samples, andInterface ID Planfor PTR owners, nibble alignment, sample host positions, /64 focus checks, and optional modified EUI-64 host examples.
If a warning appears, treat it as part of the result. Fix invalid input first, then review the matching result tab before using the CIDR in routing, DNS, firewall, or IPAM notes.
Interpreting Results:
The canonical CIDR, range start, and range end are the numeric subnet answer. They are based on the 128-bit value after lower host bits are masked, not on the address text that was typed. Input canonical address can therefore differ from Canonical network CIDR without indicating an error.
Total addresses in prefixandHost bitsshow scale only. They do not prove the prefix is routable, delegated, or appropriate for hosts.Address identity,Matched address block, and the IANA flag rows can override a simple capacity reading when the address is documentation, link-local, multicast, translation, transition, benchmarking, or another special-purpose range.Nibble-aligned rDNSmeans the fixed prefix ends on a complete hexadecimal digit.Non-nibble rDNSis not a subnet failure, but it is a warning for PTR delegation and automation.Target Prefix Plantells whether the selected target is a child split, the current prefix, or a containing parent. Check the selected child slot when the target prefix is longer than the current prefix.Interface ID Planis a planning aid, not proof of client behavior. Modified EUI-64 examples help with deterministic documentation, while modern clients often use privacy or stable interface identifiers.
Before using a result operationally, confirm the canonical CIDR, the range identity, the reverse-DNS note, and the target-prefix relationship together. A correct address count is only one part of a usable IPv6 plan.
Technical Details:
An IPv6 subnet calculation treats the address as one unsigned 128-bit integer. A prefix length from 0 to 128 builds a mask over the high-order bits. The network start is the original address with all host bits cleared, and the network end is the same start value with all host bits set. Text compression happens after those numeric boundaries are known.
The important distinction is between representation and range. 2001:0db8:1200:0000::0001, 2001:db8:1200::1, and an equivalent CIDR-bearing form can point at the same numeric address. The subnet boundary comes from the effective prefix, not from how much of the address is visible in the compressed string.
Formula Core:
These equations describe the core prefix arithmetic. prefixLength is the effective slash length, address is the parsed 128-bit IPv6 value, and the masks cover the fixed and variable parts of the address.
For 2001:db8:1200::1234/56, the host-bit count is 128 - 56 = 72. The canonical network CIDR becomes 2001:db8:1200::/56, and the total address count is 2^72. A target /64 inside that /56 uses eight more fixed bits, so the block contains 2^8, or 256, child /64 prefixes.
| Result area | Rule | What to verify |
|---|---|---|
| Canonical network CIDR | Clear host bits below the effective prefix and format the base in RFC 5952-style lowercase text. | The copied CIDR starts at the true subnet base, not a host address. |
| Total addresses in prefix | Use 2^(128 - prefix). |
The number explains scale, not deployment suitability. |
| Target child count | When the target prefix is longer, use 2^(target prefix - current prefix). |
The selected child index is within the available range. |
| Containing parent | When the target prefix is shorter, mask the current network at the broader target prefix. | The current block appears in the expected parent slot. |
| Reverse DNS zone anchor | Take the fixed hexadecimal nibbles, reverse their order, and append ip6.arpa. |
The prefix length is divisible by four for direct nibble delegation. |
Reverse DNS uses 32 hexadecimal nibbles because 128 bits divided into four-bit chunks yields 32 labels. A /60 fixes 15 complete nibbles, so the reverse zone can be delegated cleanly. A /61 fixes 15 complete nibbles plus one extra bit of the next nibble, which means the aligned parent zone must carry additional classless-style handling or provider-specific automation.
| Boundary | Common planning role | Interpretation note |
|---|---|---|
/48 |
Large site, region, or organization aggregate. | Often a parent for many delegated site blocks and LAN prefixes. |
/56 |
End-site or customer delegation. | Contains 256 child /64 prefixes. |
/60 |
Small site, rack, branch, or handoff block. | Contains 16 child /64 prefixes and stays nibble-aligned. |
/64 |
Ordinary LAN and SLAAC boundary. | Leaves 64 interface-identifier bits. |
/127 |
Inter-router point-to-point link. | Two-address profile; do not reuse it as a general LAN size. |
/128 |
Single address or host route. | No host bits remain. |
Special-purpose classification is a separate rule check after the prefix math. A block can be mathematically valid and still inherit semantics from documentation space, unique-local space, link-local space, multicast, IPv4/IPv6 translation, transition mechanisms, benchmarking ranges, or protocol-specific assignments. Read those rows before treating a canonical prefix as deployable address inventory.
Limitations and Privacy Notes:
The calculation is deterministic and browser-side, but it is not a live network validation. It does not query BGP, DNS, RIR allocation records, routers, or an IPAM database, so it cannot prove that a prefix is assigned to you, advertised, delegated, or safe to deploy.
- Range identity reflects the special-purpose address records recognized by the page; confirm current registry policy for production change control.
- Reverse-DNS output is a delegation planning aid. Actual PTR service still depends on your DNS provider, parent-zone access, and naming policy.
- Sample MAC values are normalized for modified EUI-64 examples. Do not use a real device MAC in shared notes unless that disclosure is acceptable for your environment.
- No DNS lookup or routing lookup is performed for the entered IPv6 address or prefix.
Worked Examples:
A site delegation such as 2001:db8:1200::/56 with a target prefix of /64 reports 2001:db8:1200::/56 in Canonical network CIDR. Total addresses in prefix is 2^72, and Allocation Planner shows 256 child /64 prefixes. Because 2001:db8::/32 is documentation space, Range Identity warns that the example is not production address inventory.
A reverse-DNS review for 2001:db8:abcd:1200::/61 can have correct range math and still show Non-nibble rDNS. Reverse DNS gives the aligned parent zone, the partial nibble window, and a sample PTR owner. Use that output to plan classless-style or provider-specific reverse handling instead of delegating a plain zone that does not match the routed prefix.
A manually typed host value such as 2001:db8:feed:beef::cafe with Prefix length set to /80 becomes a network base under Canonical network CIDR after the lower 48 bits are cleared. If Planner target prefix is /96 and Target subnet index is 12, Target Prefix Plan reports the selected child and the sample host relation.
With 2001:db8:500:44::/64 and sample MAC 00:11:22:33:44:55, Interface ID Plan normalizes the MAC, flips the universal/local bit for the modified EUI-64 IID, and shows a derived IPv6 address plus a derived PTR owner. The same example is useful for documentation, but the privacy note remains important when the MAC belongs to a real device.
FAQ:
Why did my address change after I entered a CIDR?
The displayed subnet base is found by clearing host bits below the effective prefix. A host address can be valid input, but Canonical network CIDR must show the masked network boundary.
Should every IPv6 subnet be /64?
Use /64 for ordinary SLAAC-oriented LANs. Broader prefixes usually hold multiple /64s, while /127 and /128 have specific point-to-point or host-route uses. Longer-than-/64 client LANs need deliberate design.
What does a non-nibble reverse-DNS warning mean?
The prefix length is not divisible by four, so the reverse-DNS boundary cuts through a hexadecimal digit. The subnet can still be valid, but PTR delegation usually needs an aligned parent zone plus extra handling.
Why does the tool warn about documentation or special-purpose ranges?
Address identity affects how a prefix should be used. Documentation, link-local, multicast, translation, transition, benchmarking, and other special ranges can have correct prefix math while still being unsuitable for normal production allocation.
What should I do if the target subnet index is clamped?
The requested index was outside the child range for the selected target prefix. Check Available child subnets in Target Prefix Plan, then choose an index from zero through the final available child.
Does a modified EUI-64 example show how my clients will configure addresses?
Not necessarily. Interface ID Plan shows a deterministic host example from the supplied MAC and a /64 focus. Many current clients use privacy or stable-secret interface identifiers instead of exposing MAC-derived values.
Glossary:
- CIDR prefix
- The slash length after an IPv6 address; it fixes the high-order bits that define the subnet.
- Network base
- The first address in a prefix after all lower host bits are cleared.
- Host bits
- The low-order bits left after the prefix; they determine range size and the range end.
- Interface ID
- The lower address portion that identifies an interface within a subnet, usually 64 bits for ordinary SLAAC unicast links.
- SLAAC
- Stateless address autoconfiguration, the IPv6 host configuration model commonly associated with /64 subnets.
- Nibble alignment
- A prefix boundary divisible by four, matching a full hexadecimal digit for easier reverse-DNS delegation.
- ip6.arpa
- The DNS reverse-mapping tree used for IPv6 PTR records.
- Modified EUI-64
- A 64-bit interface identifier derived from a 48-bit MAC by inserting
ff:feand flipping the universal/local bit.
References:
- RFC 4291: IP Version 6 Addressing Architecture, RFC Editor, February 2006.
- RFC 5952: A Recommendation for IPv6 Address Text Representation, RFC Editor, August 2010.
- RFC 3596: DNS Extensions to Support IP Version 6, RFC Editor, October 2003.
- RFC 6177: IPv6 Address Assignment to End Sites, RFC Editor, March 2011.
- RFC 7421: Analysis of the 64-bit Boundary in IPv6 Addressing, RFC Editor, January 2015.
- RFC 6164: Using 127-Bit IPv6 Prefixes on Inter-Router Links, RFC Editor, April 2011.
- RFC 8064: Recommendation on Stable IPv6 Interface Identifiers, RFC Editor, February 2017.
- IPv6 Special-Purpose Address Space, IANA.