IPv6 Subnet Calculator
Enter an IPv6 address with a prefix length (like 2001:db8::/32) and this calculator instantly returns the network address, the last address in the block, the total address count, the canonical compressed form, and the address type — global unicast, unique local, link-local, multicast, or documentation — computed entirely in your browser, with no data ever sent to a server.
Invalid input:
Result
- Compressed form
- Expanded form
- Network address
- Last address
- Total addresses
- Prefix length
- Address type
Can't derive EUI-64:
EUI-64
- Interface ID
- Full address
IPv6 Subnet Calculator
An IPv6 prefix works like an IPv4 CIDR block, but there is no dotted-decimal netmask notation at all — IPv6 only ever writes the prefix length after a slash, and the address itself is 128 bits (eight 16-bit groups) instead of IPv4's 32 bits (four 8-bit octets). That extra width is also why address counts stop fitting in a normal number past a /64: a /32 block alone holds 2^96 addresses, so this calculator uses BigInt arithmetic throughout to keep every digit exact.
Compression shortens the written form: the longest run of two or more consecutive all-zero groups collapses to a bare “::”, used at most once per address. 2001:0db8:0000:0000:0000:0000:0000:0001 and 2001:db8::1 are the exact same address — the calculator's expanded/compressed pair shows both forms for whatever you type. An IPv4-mapped address like ::ffff:192.0.2.1 keeps its trailing IPv4 dotted-decimal notation even in canonical form, since that mixed form is what RFC 5952 recommends and what most tooling actually displays.
Unlike IPv4, IPv6 never reserves a network or broadcast address inside a subnet — every address in the range, including the first, is potentially assignable, and multicast (ff00::/8) replaces broadcast entirely. The /64 prefix is the de facto standard for any LAN segment because Stateless Address Autoconfiguration (SLAAC) and EUI-64 interface identifiers — the last 64 bits derived from a device's MAC address, shown above — both assume exactly 64 bits of host space.
How to use this calculator
-
Enter the address
Type an IPv6 address with a prefix length (like 2001:db8::/32) in any valid form — compressed, expanded, or with an embedded IPv4 tail.
-
Calculate
Click Calculate (or just open a permalink URL) to compute the network, last address, address count, and address type instantly, with no page reload.
-
Read the result
The result card shows the compressed and expanded forms, the network and last address, the total address count, and the address type badge.
-
Add a MAC for EUI-64 (optional)
Enter a MAC address to derive its EUI-64 interface identifier and see it combined with the network address above into a full IPv6 address.
-
Split or share
Use the split tool to divide the block into smaller subnets of a chosen prefix length, or share the current page URL — it already encodes your input as a permalink.
Split into smaller subnets
Divide the block above into equal-size subnets of a target prefix length (for example, split a /48 into /56 blocks). The result is capped at a fixed number of rows plus a total count, so an astronomically large split never freezes the tab.
Can't split:
Subnets shown: — Total subnets:
Only the first rows above are rendered — see the total count for the full size of this split.
| Network | Prefix |
|---|---|
Glossary
- IPv6 prefix
- The address/prefix-length notation (e.g. 2001:db8::/32) marking how many of the address's 128 leading bits are fixed as the network portion — IPv6's equivalent of an IPv4 CIDR block, with no separate dotted-decimal mask form.
- Global Unicast Address (GUA)
- A publicly routable IPv6 address, allocated out of the 2000::/3 range — the IPv6 equivalent of a public IPv4 address.
- Unique Local Address (ULA)
- A private, non-globally-routable IPv6 address from fc00::/7 (RFC 4193) — the IPv6 analogue of IPv4's private ranges like 10.0.0.0/8, generated with a pseudo-random global ID so two independently chosen ULA prefixes almost never collide.
- Link-local address
- An address from fe80::/10, automatically assigned to every IPv6 interface and valid only on its own local network segment — never forwarded by a router.
- Multicast address
- An address from ff00::/8 identifying a group of interfaces rather than one host — IPv6 has no broadcast address at all, so multicast (e.g. ff02::1, “all nodes”) covers every use case broadcast used to.
- EUI-64
- A 64-bit interface identifier derived from a 48-bit MAC address by splitting it into two 24-bit halves, inserting fffe in the middle, and flipping the universal/local bit — used by SLAAC to build a full IPv6 address without DHCP.
API equivalent
The subnet math above is computed entirely on your device — this page makes zero network requests to calculate any result on it. If you'd rather get network/RDAP facts about a real, routable IPv6 address server-side as part of a larger lookup, the network group of our main API returns the same kind of facts:
curl "https://ip.xakki.pro/api/v1/ip?ip=2606:4700:4700::1111&include=network"
Example response (trimmed):
{
"schemaVersion": 15,
"status": "ok",
"ip": "2606:4700:4700::1111",
"version": 6,
"network": {
"asn": 13335,
"prefix": "2606:4700::/32",
"registry": "arin"
}
}
Frequently asked questions
- What's the difference between an IPv6 prefix and an IPv4 subnet mask?
- They serve the same purpose — marking how many leading bits are the network portion — but IPv6 only ever writes it as a /N prefix length; there is no dotted-decimal netmask notation like IPv4's 255.255.255.0, and no netmask-to-prefix conversion needed.
- What is a Unique Local Address (ULA)?
- A ULA (fc00::/7, RFC 4193) is a private IPv6 address, not routable on the public internet — the IPv6 equivalent of IPv4's private ranges (10.0.0.0/8, 192.168.0.0/16). Its global ID is generated pseudo-randomly, not sequentially, so two independently created ULA networks are extremely unlikely to overlap if they're later merged.
- Why is /64 the standard prefix for a LAN segment?
- Stateless Address Autoconfiguration (SLAAC) and EUI-64 interface identifiers both need exactly 64 bits of host space to build an address from a device's MAC address without a DHCP server — a longer prefix (e.g. /80) would leave no room for that mechanism to work.
- What is EUI-64 and why would I need it?
- EUI-64 is the algorithm that turns a 48-bit MAC address into a 64-bit interface identifier (splitting it in half, inserting fffe, and flipping one bit) — it's how SLAAC-configured IPv6 hosts pick their own address without asking a DHCP server. Enter a MAC address above to see its EUI-64 interface ID and the full address it produces with the network prefix above it.
- Does this tool send my IPv6 address or MAC anywhere?
- No. Every calculation on this page — the main result, EUI-64 derivation and subnet splitting — runs entirely in your browser using plain arithmetic; nothing you type here is sent to our servers or anywhere else.
- Why does 2001:db8::/32 always classify as “documentation”, even though it sits inside the global unicast range?
- 2001:db8::/32 (RFC 3849) is reserved specifically for documentation and examples, and it happens to be carved out of the wider 2000::/3 global unicast range. This calculator checks the narrower, more specific range first, so any address inside 2001:db8::/32 is always reported as documentation rather than the broader global-unicast type it would otherwise also match.
Like this tool? Our API gives free accounts 1,000 requests/day.See the API docs →