# IPv6 Calculator - Compress, Expand, Subnet and Classify

> Free IPv6 toolkit: RFC 5952 compress/expand, prefix ranges, paged subnetting, address types (Teredo, 6to4, NAT64), EUI-64, ip6.arpa and random ULA.

- URL: https://qilingtools.com/en/ipv6
- Category: Developer Tools (https://qilingtools.com/en/dev)
- Tags: [Developer](https://qilingtools.com/en/tags/dev), [Network & HTTP](https://qilingtools.com/en/tags/network), [DevOps](https://qilingtools.com/en/tags/devops)
- Last updated: 2026-10-26
- Price: Free, no sign-up
- Privacy: Runs locally in the browser; files are never uploaded

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.

## How to use

1. Enter an IPv6 address or address/prefix, or click one of the examples
2. Read the compressed / expanded forms, address type, prefix range and reverse DNS name
3. Use the sections below for subnetting, range checks, EUI-64, IPv4 conversion or a random ULA prefix

## Features

- RFC 5952 compression and full expansion, with %zone and embedded IPv4
- Prefix network, first / last address and exact address count (BigInt)
- Subnetting into any longer prefix with paging and jump-to-page
- Classification: GUA, ULA, link-local, multicast scope, IPv4-mapped, 6to4, NAT64 and more
- Teredo decoding of server, client IPv4 and port
- MAC ⇄ EUI-64 interface ID conversion
- ip6.arpa reverse names, generated and parsed
- Random ULA /48 prefix generator (RFC 4193)

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

## Related tools

- [JSON Formatter](https://qilingtools.com/en/json): Free online JSON formatter: beautify or minify, validate with the exact line and column of any error, browse a collapsible tree, sort keys and escape strings.
- [Base64 Encode/Decode](https://qilingtools.com/en/base64): Free online Base64 encoder and decoder: UTF-8 safe, optional URL-safe variant, convert text to Base64 and back in real time. Processed locally, never uploaded.
- [URL Encode/Decode](https://qilingtools.com/en/url-encode): Free online URL encoder and decoder with encodeURIComponent and encodeURI modes. Escapes Chinese, spaces and special characters. Real-time and local, no upload.
- [JWT Decoder](https://qilingtools.com/en/jwt): Free online JWT decoder: decode the header and payload of a JSON Web Token, show expiry and issued-at times, all locally without uploading the token.
- [Timestamp Converter](https://qilingtools.com/en/timestamp): Free online Unix timestamp converter: convert timestamps and dates, auto-detect seconds or milliseconds, and show local, UTC, ISO 8601 and relative time.
- [Hash / Checksum](https://qilingtools.com/en/hash): Free online hash calculator: SHA-1, SHA-256, SHA-384 and SHA-512 of text or any file through the browser crypto API. Files never leave your device.
- [UUID Generator](https://qilingtools.com/en/uuid): Free online UUID generator: create RFC 4122 UUID v4 in bulk with a cryptographic RNG. Options for uppercase, no hyphens and braces, with one-click copy.
- [Base Converter](https://qilingtools.com/en/base-convert): Free online number base converter: convert between binary, octal, decimal, hexadecimal and any base 2–36. Uses BigInt for huge integers, computed locally.
