IPv6 Subnet Calculator
Split any IPv6 prefix into subnets with counts and child nets.
What it does
IPv6 subnets split prefixes by bit count: carving a /48 into /64s adds 16 subnet bits for 65,536 networks, each holding 2^64 addresses. Powers of two price every split with no remainder math.
The tool above takes a parent address with old and new prefix lengths. It returns subnet count, addresses per subnet, and the second child network. The default 2001:db8:abcd:: from /48 to /64 gives 65,536 subnets of 18,446,744,073,709,551,616 addresses with 2001:db8:abcd:1::/64 second.
Rules follow the addressing architecture with registry guidance beside it: 128 bit hex in eight groups, one :: compression at most, prefix lengths counting leftmost bits. Standard LANs stay /64 for stateless autoconfiguration, and IPv6 keeps no broadcast address.
Leading zeros drop per group while case never matters. Embedded IPv4 tails stay out of this page; write full hex form for those ranges.
How to use
- Type the parent address in hex form.
- Type the parent prefix length.
- Type the longer new prefix length.
- Read subnet count first, size beside it.
- Use the second child as a numbering pattern.
- Keep LANs at /64 for SLAAC.
Formula
- prefix
- Leftmost bits that define the network.
- /64
- Standard LAN size with SLAAC support.
- ::
- One compression of zero groups at most.
Big integer math carries all 128 bits exactly. First child equals the parent network; the page prints the second as the pattern.
Worked example
Example: /48 to /64
Defaults: 2001:db8:abcd::, old 48, new 64.
- New bits: 64 minus 48 = 16.
- Subnets: 2^16 = 65,536.
- Each: 2^(128 minus 64) = 2^64 addresses.
- Parent net keeps top 48 bits.
- Second child adds one /64 step: 2001:db8:abcd:1::/64.
- Tool shows counts with the child pattern.
Reference table
| Split | Subnets | Each |
|---|---|---|
| /48 to /64 | 65,536 | 18,446,744,073,709,551,616 |
| /32 to /48 | 65,536 | 1,208,925,819,614,629,174,706,176 |
| /64 to /72 | 256 | 72,057,594,037,927,936 |
| Loopback ::1 | Single /128 | 1 address |
| Specials | ::, ::1, FE80::/10, FF00::/8 | Once-only :: rule |
Limits
- Hex form only; embedded IPv4 rejected.
- Counts subnets, not routing policy.
- Allocation floors ignored.
- 128 bit math; /129 never exists.
Common mistakes
- Using :: twice in one address.
- Counting broadcast like IPv4.
- Carving LANs past /64 with SLAAC on.
- New prefix shorter than parent.
- Reading hex letters as decimal.
Try it yourself
Quick checks. Answers sit tucked under each question.
/32 to /48?
65,536 subnets.
/64 to /72?
256 subnets of 72,057,594,037,927,936.
New shorter than parent?
Rejected: new prefix must exceed parent.
Questions
Default split?
65,536 /64s from one /48.
Addresses per /64?
2^64: 18,446,744,073,709,551,616.
Why /64 LANs?
Stateless autoconfiguration expects 64 host bits.
Broadcast address?
None in IPv6; multicast replaces it.
:: rules?
Once at most, 1 to 4 hex digits per group, 8 groups.
IPv4 page versus this?
That masks 32 bit dotted quads; this prefixes 128 bit hex.