IPv6 Compressor and Expander
Compress IPv6 to canonical RFC 5952 form or expand it to full notation. Detects address type and shows the binary prefix. Free and in-browser.
About the IPv6 Compressor and Expander
This tool converts IPv6 addresses between their compressed and fully expanded forms. Paste any valid IPv6 address — shortened with ::, fully written out, bracketed, or IPv4-mapped — and get both the canonical compressed form and the complete 8-group expanded form side by side.
Compression follows RFC 5952, the standard that removes ambiguity: leading zeros in each group are dropped, and the single longest run of zero groups is replaced with :: (the leftmost run winning on ties). The expander does the opposite, padding every group to four hex digits so addresses line up neatly in configs and logs.
Beyond conversion, the tool identifies the address type — global unicast, link-local, unique local, multicast, loopback or documentation — and shows the first 64 bits in binary. Validation is strict but the error messages are friendly, telling you exactly why an address is malformed. It all runs locally in your browser.
How to Use the IPv6 Compressor and Expander
- 1Paste an IPv6 address in any notation into the input box.
- 2Click Compress & expand.
- 3Review the canonical compressed form, the full expanded form and the address type.
- 4Copy whichever form you need.
Frequently Asked Questions
What does the :: in an IPv6 address mean?
The double colon is shorthand for one or more consecutive groups of all-zeros. Because it would be ambiguous otherwise, :: may appear only once in an address. This tool expands it back to the exact number of zero groups needed to make eight groups total.
What is RFC 5952 canonical form?
RFC 5952 defines a single 'correct' way to write a compressed IPv6 address so the same address always looks identical: lowercase hex, no leading zeros within groups, and :: applied to the longest zero run (leftmost on a tie). Using canonical form makes addresses easy to compare and deduplicate.
Does it support IPv4-mapped addresses?
Yes. Addresses like ::ffff:192.168.1.1 that embed an IPv4 address in the last 32 bits are parsed correctly, and the tool identifies them as IPv4-mapped. The embedded IPv4 octets are validated too.
How can I tell what kind of address I have?
The tool labels the address type from its prefix: fe80::/10 is link-local, fc00::/7 is unique local, ff00::/8 is multicast, ::1 is loopback, 2000::/3 is global unicast, and 2001:db8::/32 is the documentation range. This tells you at a glance whether an address is routable.