Skip to content
AZ Tools

IPv6 Expander / Compressor

Every IPv6 address is 128 bits, written as eight groups of four hexadecimal digits — but you almost never see the full form, because two shorthand rules apply: leading zeros within a group may be dropped, and a single "::" may replace one run of consecutive all-zero groups. RFC 5952 pins down one canonical text form (lowercase hex, no leading zeros, "::" compressing the longest — and on a tie, the leftmost — zero run, never a single group), which is exactly what the compressed output here follows. Paste any valid notation — fully expanded, mixed, or maximally compressed — and the parser normalizes it live into five representations: the fully expanded 8-group form (needed by firewalls, ACLs, and scripts that compare addresses as text), the RFC 5952 compressed form, a bare 32-digit hex string, the nibble-reversed ip6.arpa name used for PTR (reverse DNS) records, and the raw binary grouped 16 bits at a time — handy for working out subnet boundaries by eye. All parsing happens in your browser; the address is kept only in your device's local storage, so it's still there when you come back.

  • Expanded2001:0db8:0000:0000:0000:8a2e:0370:7334
  • Compressed2001:db8::8a2e:370:7334
  • Hex20010db80000000000008a2e03707334
  • Reverse DNS4.3.3.7.0.7.3.0.e.2.a.8.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa
  • Binary0010000000000001:0000110110111000:0000000000000000:0000000000000000:0000000000000000:1000101000101110:0000001101110000:0111001100110100

Compression follows RFC 5952 — the longest run of zero groups becomes :: .

How to use

  1. Paste or type an IPv6 address in any notation — compressed with ::, fully expanded, or anything in between.
  2. The five representations update as you type; an invalid address shows an error instead.
  3. Copy whichever form you need with the copy button next to each row.
  4. Strip prefix lengths (/64) and zone IDs (%eth0) before pasting — only the bare address is parsed.

Frequently asked questions

What does the :: mean in an IPv6 address?
It stands for one or more consecutive groups of zeros. It may appear at most once per address — with two occurrences the parser couldn't tell how many groups each :: hides. RFC 5952 additionally requires it to replace the longest zero run, and the leftmost one when two runs tie.
Why isn't a single zero group compressed to ::?
RFC 5952 §4.2.2 forbids it: 2001:db8:0:1:1:1:1:1 must keep the lone 0 rather than become 2001:db8::1:1:1:1:1, because a one-group :: saves nothing and creates inconsistent output across tools. This tool follows that rule — a run of at least two zero groups is required.
Why does my reverse PTR look so long?
ip6.arpa encodes one hex nibble (4 bits) per DNS label, in reverse order. A 128-bit address therefore always becomes exactly 32 labels plus ip6.arpa — there is no compressed form on the reverse-DNS side.
Can I paste IPv4-mapped addresses like ::ffff:192.0.2.1?
Not in dotted form — the parser accepts hex groups only. Convert the IPv4 part to two hex groups first (192.0.2.1 → c000:201, so ::ffff:c000:201). Zone IDs (%eth0) and prefix lengths (/64) must also be removed.
Is my address sent anywhere?
No. Parsing and conversion run entirely in your browser. The input is remembered in your browser's local storage for convenience; clearing the site's data removes it.

Related tools