IPv6 / CIDR calculator
Calculate an IPv6 prefix, its boundaries and exact address count. Canonical compression, expanded notation and local calculations without a backend.
Input
Calculations require JavaScript and run only in your browser. Documentation remains accessible.
Results
Enter an IPv6 address and prefix to calculate results.
- Entered address
- Canonical hexadecimal address
- Expanded address
- CIDR prefix
- Prefix network address
- Last address in prefix
- Total addresses (exact)
- Prefix mask (hexadecimal)
- Binary address (8 groups of 16 bits)
IPv6 has no broadcast address. The total includes every address in the prefix, without subtracting two addresses. This mathematical capacity does not guarantee assignment, availability or routability.
Understanding IPv6 and CIDR
Example and limitations
For 2001:db8:abcd:1234::10/64: network 2001:db8:abcd:1234::, last address 2001:db8:abcd:1234:ffff:ffff:ffff:ffff and 18446744073709551616 addresses. Calculations run locally without saving inputs or network requests. Mixed notation such as ::ffff:192.0.2.1, zones such as fe80::1%eth0 and bracketed URLs are rejected. A fully hexadecimal value, even in an IPv4-related range, is treated as 128 bits without conversion to mixed notation or classification. No advanced subnetting or connectivity testing.
Frequently asked questions
How do I read the eight groups in an IPv6 address?
An IPv6 address has 128 bits, written as eight 16-bit hexadecimal groups from 0000 to ffff. Uppercase letters and leading zeros are accepted: 2001:0db8:0000:0000:0000:0000:0000:0001 and 2001:db8::1 represent the same value.
What does :: replace, and how is canonical output chosen?
One :: sequence may replace one or more zero groups in input. Output follows RFC 5952 section 4: lowercase, no leading zeros, and compression of the longest run of at least two zero groups, choosing the first run on a tie. A single zero group stays written as 0; two :: sequences are rejected.
How does a prefix define the network and last address?
A /n prefix fixes the first n bits. Setting the remaining bits to 0 gives the network; setting them to 1 gives the last address. A host address is accepted: 2001:db8::1/64 yields 2001:db8::/64. Prefixes must be between 0 and 128. If both the address and separate field contain a prefix, they must agree.
How many addresses are in a /64, /0 or /128?
A /n block contains exactly 2^(128 − n) addresses. A /64 holds 18,446,744,073,709,551,616; a /128 holds just one. A /0 spans 340282366920938463463374607431768211456 addresses. BigInt arithmetic keeps these quantities exact without rounded scientific notation.
Why is there no broadcast or IPv4-style usable host count?
IPv6 has no broadcast address. The displayed last address is a mathematical boundary, not a broadcast. The calculation does not subtract two addresses. The total does not guarantee assignable hosts: anycast roles, special-purpose ranges, network policies and equipment constraints are not analyzed.
