Networking

IPv6 / CIDR calculator

Calculate an IPv6 prefix, its boundaries and exact address count. Canonical compression, expanded notation and local calculations without a backend.

Input

IPv6 / CIDR calculator

Compressed or expanded hexadecimal notation, such as 2001:db8::1/64. Mixed IPv4 notation, % zones and bracketed URLs are not supported.

Integer from 0 to 128, with or without /. Optional if already included in the address; both prefixes must agree.

Examples

Calculations require JavaScript and run only in your browser. Documentation remains accessible.

Results

Enter an IPv6 address and prefix to calculate results.

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.

References : RFC 4291 · RFC 5952

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.

Back to tools home