🛰️IPv6 Calculator - Compress, Expand, Subnet and Classify
IPv6 addresses are long, easy to mistype and a pain to subnet by hand. Enter an IPv6 address or address/prefix — %zone suffixes, [brackets] and even ip6.arpa reverse names work too — and you get the RFC 5952 canonical compressed form, the fully expanded form, hex and decimal integers and a binary view colored by prefix, plus the prefix’s network, first and last address, total address count (exact BigInt math, down to the last digit even for a /48) and its reverse DNS zone. Address classification covers global unicast, unique local (ULA), link-local, multicast (scope, R/P/T flags, well-known groups and solicited-node addresses), IPv4-mapped and compatible addresses, 6to4, NAT64 (64:ff9b::/96), documentation and benchmarking ranges and more; Teredo addresses are decoded into the server IPv4, client public IPv4 and port. Subnetting splits any prefix into longer prefixes and pages through the result, however many subnets there are, with a jump-to-page box. There’s also a range checker for many addresses at once, MAC ⇄ EUI-64 interface ID conversion, IPv4 to IPv6 forms, and an RFC 4193 ULA /48 generator that uses your browser’s secure random numbers. Everything is computed locally.
Free · No sign-up · Runs in your browserLast updated:
How to use IPv6 Calculator
- 1Enter an IPv6 address or address/prefix, or click one of the examples
- 2Read the compressed / expanded forms, address type, prefix range and reverse DNS name
- 3Use the sections below for subnetting, range checks, EUI-64, IPv4 conversion or a random ULA prefix
FAQ
- What are the IPv6 compression rules?
- RFC 5952 says: drop leading zeros in each group; replace the longest run of all-zero groups (two or more) with ::, choosing the first run on a tie; never use :: for a single zero group; and write hex digits in lowercase. So 2001:0db8:0000:0000:0001:0000:0000:0001 becomes 2001:db8::1:0:0:1.
- My ISP gives me a /56 or /60. How many subnets is that?
- LANs normally use /64 subnets. A /56 contains 2^(64−56) = 256 /64s and a /60 contains 16. Pick /64 under Subnetting to list every one of them.
- What are addresses starting with fd00::/8?
- Those are unique local addresses (ULAs), the IPv6 counterpart of private IPv4 ranges like 10.0.0.0/8: used inside your network and never routed on the internet. RFC 4193 says the 40-bit global ID after fd should be random so networks don’t collide when merged — the generator on this page gives you a random /48.
- What does %eth0 after a link-local address mean?
- That’s the zone ID. Every interface has an fe80::/10 link-local address and the same address can exist on several interfaces, so you add %interface (or %index on Windows) to say which one to use. The tool recognizes and shows the zone separately and ignores it in calculations.