🧩 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.

Examples: 2001:db8::/32   2001:db8:acad:1::/64   fe80::1
💡
ToolsNovaHub Pro Tip
When planning subnets for a corporate network, always request at least a /48 from your ISP or RIR — this gives you 65,536 /64 subnets, enough headroom that you'll never need to renumber as the organization grows.
⚠️
Common Beginner Mistake
Assuming IPv6 subnetting works like IPv4 — borrowing arbitrary numbers of bits for hosts. In practice, virtually every IPv6 subnet is a /64, because SLAAC (stateless address autoconfiguration) and many neighbor discovery mechanisms assume a 64-bit interface identifier.

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 DigitBinary (4 bits)Hex DigitBinary (4 bits)
0000081000
1000191001
20010a1010
30011b1011
40100c1100
50101d1101
60110e1110
70111f1111

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

PropertyIPv4IPv6
Address length32 bits128 bits
NotationDotted decimal (192.168.1.1)Hexadecimal groups (2001:db8::1)
Typical end-subnet sizeVariable (/24, /28, /30, etc.)Almost always /64
Address configurationDHCP (mostly)SLAAC, DHCPv6, or static
NAT usageNearly universal (address scarcity)Rare — designed for abundant global addressing
BroadcastYes (all-hosts broadcast address)No — replaced by multicast

Real-World Deployment: Enterprise, Cloud, ISP

Enterprise networks
Large enterprises typically receive a /48 or /44 from their upstream provider and subnet it hierarchically by site, then by VLAN — a common pattern uses the middle hex groups for site/building/floor identification, keeping the scheme predictable and easy to document.
AWS, Azure, and Google Cloud
Major cloud providers assign IPv6 CIDR blocks to VPCs typically as a /56, letting you carve out /64 subnets per availability zone or subnet tier — this calculator is exactly the tool for verifying how many /64s a given cloud-assigned /56 actually contains before you finalize a subnetting plan.
ISPs and residential deployment
Most residential ISPs now delegate a /56 or /60 to home routers via DHCPv6-PD (prefix delegation), giving even home networks enough address space for multiple internal /64 subnets — one for the main LAN, one for guest Wi-Fi, one for IoT devices, each isolated at the network layer.
CDN edge infrastructure
CDN providers announcing IPv6 anycast ranges typically work with tightly-scoped prefixes (often /48 or smaller) specifically because anycast routing efficiency depends on keeping announced blocks as small as operationally reasonable.
Data centers
Data center operators frequently allocate a /64 per physical rack or per tenant VLAN, using this calculator to confirm exact address ranges when documenting IPAM (IP address management) records during a network build-out.

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

⚠️ Doesn't validate routability
The calculator performs address math correctly for any syntactically valid address, but doesn't check whether a given prefix is actually announced or routable on the public internet — that requires a separate routing lookup, such as an ASN lookup.
⚠️ No zone ID support
Link-local addresses with a zone identifier (e.g. 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

❌ "Invalid IPv6 address format"
Usually means the address has too many or too few hex groups, contains characters outside 0-9 and a-f, or has more than one :: shorthand (only one is ever valid per address).
❌ "Prefix length must be between 0 and 128"
Double-check you haven't accidentally entered an IPv4-style prefix (like /24) on an IPv6 address — valid IPv6 prefixes range from /0 to /128.

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::/32 range 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.arpa reverse DNS zone this calculator's PTR output is based on.

Best Practices for Address Planning

  1. Always subnet on nibble boundaries (/48, /52, /56, /60, /64) unless you have a specific, well-understood reason not to.
  2. Reserve /64 as the standard size for any subnet that will use SLAAC or host end-user devices.
  3. 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.
  4. 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

ResourceTypeLink
CIDR CalculatorToolOpen Tool →
IPv6 LookupToolOpen Tool →
ASN LookupToolOpen Tool →
IPv6 Prefix CalculatorGuideRead Guide →
IPv6 Network PlanningGuideRead Guide →
IPv6 SubnettingGuideRead Guide →
IPv6 Address CompressionGuideRead Guide →
IPv6 CIDRGuideRead Guide →
🔗 Continue exploring: CIDR Calculator · IPv6 Lookup · IPv6 Subnetting · IPv6 CIDR · Blog · Homepage

FAQ

Given an address or address/prefix, it returns expanded and compressed forms, network address, first/last address, total addresses, host bits, /64 subnet count, reverse DNS pointer, and address type/scope — all using exact 128-bit math.
Yes — it uses native BigInt arithmetic for all 128-bit math, avoiding the precision loss that affects calculators built on standard floating-point numbers.
Yes — enter your assigned prefix and the calculator shows exactly how many /64 subnets it contains.
Yes, completely free with no signup required.
No — all calculations run entirely in your browser. Nothing is transmitted to any server.
/64 is shown because it's the near-universal standard for end subnets under SLAAC. If you need a different subnet size, the "Host Bits" and "Total Addresses" fields give you what's needed to calculate any subnet count manually.
Expanded form shows all 8 groups with full 4-digit padding and no shorthand. Compressed form uses leading-zero omission and a single :: to represent the longest run of consecutive zero groups, per RFC 4291.
Yes — if no prefix is given, the calculator treats it as a single /128 host address.
It's the address representation used in the ip6.arpa DNS zone for reverse lookups — needed when configuring reverse DNS records for IPv6 addresses, similar in purpose to in-addr.arpa for IPv4.
Not directly — strip any zone ID (e.g. the %eth0 suffix) before entering a link-local address, since zone IDs are interface-specific and not part of the address's mathematical structure.
It classifies the address as global unicast, unique local (private), link-local, multicast, loopback, or a special-purpose range like documentation or NAT64 mapping, based on its leading bits.
Because 64 minus 48 equals 16 bits of subnetting room, and 2 to the power of 16 is 65,536 — exactly matching the calculator's math for that prefix.
Conceptually yes (network bits vs host bits), but in practice IPv6 planning almost always keeps /64 as the fixed end-subnet size rather than varying it per-subnet the way IPv4 commonly does.
Yes — enter your cloud-assigned CIDR block (commonly a /56) to verify exactly how many /64 subnets it contains before finalizing your VPC subnet design.
No — it performs address math for any syntactically valid input but doesn't verify real-world routability, which requires a separate lookup such as an ASN lookup.