🧩 IPv6 Calculator
Enter any IPv6 address or address/prefix and get the exact expanded form, network range, subnet count, and reverse DNS pointer — computed with full 128-bit precision, entirely in your browser.
What This IPv6 Calculator Does
Paste in any IPv6 address, with or without a prefix length, and this tool performs the full set of calculations a network engineer would otherwise do by hand: expanding the address to its complete 8-group hexadecimal form, compressing it back down using the shortest valid :: notation, computing the network address and full address range for the given prefix, counting how many host addresses or /64 subnets that range contains, generating the reverse DNS (PTR) pointer under ip6.arpa, and classifying the address by type (global unicast, unique local, link-local, multicast, and so on) and scope. Every calculation runs client-side in JavaScript using native BigInt arithmetic, which matters more than it might sound — IPv6's 128-bit address space overflows standard JavaScript numbers past 53 bits of precision, so calculators built on regular floating-point math silently produce wrong answers for large prefixes. This one doesn't.
Why You Need a Calculator for This At All
IPv4 subnetting is small enough that many engineers do it in their head after enough practice — 32 bits, familiar dotted-decimal notation, and a manageable handful of common prefix lengths. IPv6 is a different scale of problem entirely. A single /64 subnet contains roughly 18 quintillion addresses — more addresses than IPv4's entire space, repeated billions of times over, in one subnet. Mental math simply doesn't scale to numbers like that, and the compressed :: notation, while great for readability, actively obscures the exact bit boundaries you need to see clearly when planning or troubleshooting. A calculator isn't a crutch here; it's the only practical way to verify address math at this scale without error.
How the Calculation Logic Works
Internally, every address is first expanded to its full 8-group, 4-hex-digit-per-group form (removing any :: shorthand and padding groups to four digits), then converted into a single 128-bit integer. From there, a network mask is built by setting the leftmost prefix bits to 1 and the rest to 0 — the same conceptual model as IPv4 subnet masks, just four times as many bits. A bitwise AND between the address and mask yields the network address; a bitwise OR between the network address and the inverted mask (the "wildcard" portion) yields the last address in the range. Subtracting the prefix from 128 gives the host bit count, and 2 raised to that power gives the total address count in the range — numbers that, for anything shorter than roughly a /68, exceed what a standard 64-bit floating-point number can represent exactly, which is exactly why this calculator uses BigInt for every step of the math rather than regular JavaScript numbers.
Binary and Hexadecimal, Side by Side
Every IPv6 address is fundamentally a 128-bit binary number. Hexadecimal notation exists purely as a human-readable shorthand — each hex digit represents exactly 4 bits, so a full address (32 hex digits across 8 groups) represents all 128 bits with no ambiguity. This 4-bits-per-digit relationship is why IPv6 subnetting conventionally happens on "nibble boundaries" — prefix lengths that are multiples of 4 (like /48, /52, /56, /60, /64) — since those boundaries align exactly with hex digit boundaries, making the network portion visually obvious in the address itself. A /58, by contrast, splits a hex digit in half, which is technically valid but considerably harder to reason about by eye — one of several reasons /64 became the near-universal standard for end subnets rather than a more granular alternative.
| Hex Digit | Binary (4 bits) | Hex Digit | Binary (4 bits) |
|---|---|---|---|
| 0 | 0000 | 8 | 1000 |
| 1 | 0001 | 9 | 1001 |
| 2 | 0010 | a | 1010 |
| 3 | 0011 | b | 1011 |
| 4 | 0100 | c | 1100 |
| 5 | 0101 | d | 1101 |
| 6 | 0110 | e | 1110 |
| 7 | 0111 | f | 1111 |
Prefix, CIDR, and Subnet Calculations Explained
The slash notation in IPv6 (e.g. /48, /64) means exactly what it means in IPv4 CIDR notation — the number of leading bits that identify the network, out of 128 total. What differs is scale and convention: RIRs typically allocate a /32 to ISPs, ISPs typically assign a /48 or /56 to end customers, and end networks almost always subnet down to /64 for each individual LAN segment, since a /64 is the boundary that SLAAC and most neighbor discovery mechanisms expect. A /48 customer allocation, for example, contains exactly 65,536 possible /64 subnets (2 to the power of 16, since 64 minus 48 equals 16 bits of subnetting room) — enough for most organizations to assign one or more /64s per department, per floor, or per VLAN without ever needing to renumber.
Worked Example: Calculating a /48 Allocation
Take 2001:db8:acad::/48 as an example allocation from an ISP. Expanding it gives 2001:0db8:acad:0000:0000:0000:0000:0000. With a /48 prefix, the first 48 bits (the first three hex groups: 2001, 0db8, acad) are fixed as the network portion, leaving 80 bits free for subnetting and host addressing. If this organization wants to allocate one /64 per department, it can vary the fourth hex group — 2001:db8:acad:0001::/64 for Sales, 2001:db8:acad:0002::/64 for Engineering, and so on — using the fourth group's 16 bits as a subnet ID, and still have 65,536 possible subnet values to work with, each one itself large enough to number more devices than will ever realistically exist on a single LAN segment.
Comparison: IPv4 vs IPv6 Addressing
| Property | IPv4 | IPv6 |
|---|---|---|
| Address length | 32 bits | 128 bits |
| Notation | Dotted decimal (192.168.1.1) | Hexadecimal groups (2001:db8::1) |
| Typical end-subnet size | Variable (/24, /28, /30, etc.) | Almost always /64 |
| Address configuration | DHCP (mostly) | SLAAC, DHCPv6, or static |
| NAT usage | Nearly universal (address scarcity) | Rare — designed for abundant global addressing |
| Broadcast | Yes (all-hosts broadcast address) | No — replaced by multicast |
Real-World Deployment: Enterprise, Cloud, ISP
Advantages of Using This Calculator
- BigInt-based math avoids the silent precision errors that affect calculators built on standard floating-point numbers.
- Handles both bare addresses and address/prefix input in one field, detecting the format automatically.
- Generates the reverse DNS pointer automatically — a manual process that's genuinely tedious and error-prone to do by hand for 128-bit addresses.
- Runs entirely client-side, so no address you calculate is ever transmitted anywhere.
Limitations to Keep in Mind
fe80::1%eth0) should have the zone ID portion stripped before entering the address, since zone IDs are interface-specific and not part of the address's mathematical structure.Security, Privacy, and Performance Notes
All calculations happen locally in your browser via JavaScript — no address you enter is sent to any server, logged, or stored outside your own device's local storage (which only retains a short calculation history for convenience, and can be cleared any time). From a performance standpoint, BigInt operations on 128-bit values are computationally trivial for modern browsers, so calculations complete instantly regardless of prefix length. On the security side, worth noting: entering a real, routable IPv6 address from your own infrastructure into any online tool (this one included) reveals structural information about your addressing scheme if that tool logs input — a reasonable practice for sensitive internal ranges is to substitute the RFC 3849 documentation prefix (2001:db8::/32) when just verifying calculation logic rather than testing with production ranges.
Accessibility
The calculator input and all result fields are keyboard-navigable, with the calculate action bound to both a button and the Enter key, and result fields marked up with semantic labels for screen reader compatibility, consistent with the accessibility standard applied across every ToolsNovaHub tool.
Troubleshooting Common Errors
:: shorthand (only one is ever valid per address).Related Standards and RFC References
- RFC 4291 — IP Version 6 Addressing Architecture (defines address types, notation, and scope).
- RFC 4632 / RFC 1519 — Classless Inter-Domain Routing, the foundational CIDR concept IPv6 prefix notation extends.
- RFC 3849 — IPv6 Address Prefix Reserved for Documentation (the
2001:db8::/32range used throughout this page). - RFC 4862 — IPv6 Stateless Address Autoconfiguration (SLAAC), the mechanism that assumes a 64-bit interface identifier.
- RFC 3596 — DNS Extensions for IPv6, defining the
ip6.arpareverse DNS zone this calculator's PTR output is based on.
Best Practices for Address Planning
- Always subnet on nibble boundaries (/48, /52, /56, /60, /64) unless you have a specific, well-understood reason not to.
- Reserve /64 as the standard size for any subnet that will use SLAAC or host end-user devices.
- Document your addressing scheme's logic (what each hex group represents) before assigning any subnets — retrofitting documentation onto an ad hoc scheme is far harder than planning it up front.
- Use this calculator to verify subnet counts and ranges before finalizing an IPAM record, rather than relying on manual arithmetic for anything beyond a quick sanity check.
Developer Notes
If you're building your own IPv6 tooling, the single most important implementation detail is avoiding standard JavaScript numbers for any calculation involving more than about 53 bits — which, given IPv6's 128-bit space, is nearly every calculation beyond the smallest host ranges. Native BigInt (supported in all modern browsers without a polyfill) handles this cleanly, as demonstrated throughout this calculator's implementation.
Conclusion
IPv6 address math is conceptually the same as IPv4 CIDR math scaled up — network bits, host bits, ranges, and masks — but the sheer scale (128 bits instead of 32) makes manual calculation impractical and error-prone in ways IPv4 rarely was. This calculator handles that scale correctly, using exact BigInt arithmetic rather than approximate floating-point math, so you can trust the output for anything from a quick address expansion to planning a full enterprise /48 allocation. For deeper background on any of the concepts here, see our dedicated guides on IPv6 subnetting, IPv6 CIDR, and IPv6 network planning.
📋 Related Tools & Guides
| Resource | Type | Link |
|---|---|---|
| CIDR Calculator | Tool | Open Tool → |
| IPv6 Lookup | Tool | Open Tool → |
| ASN Lookup | Tool | Open Tool → |
| IPv6 Prefix Calculator | Guide | Read Guide → |
| IPv6 Network Planning | Guide | Read Guide → |
| IPv6 Subnetting | Guide | Read Guide → |
| IPv6 Address Compression | Guide | Read Guide → |
| IPv6 CIDR | Guide | Read Guide → |
FAQ
:: to represent the longest run of consecutive zero groups, per RFC 4291.