Running on your device · 0 bytes uploaded

IPv6 expand, compress, canonicalize

Paste any IPv6 address — get the fully expanded form, the RFC 5952 canonical compression, per-group hex, and the arpa nibble order, computed in this tab.

IPv6 address
Forms
Canonical (RFC 5952 §4)
2001:db8::8:800:200c:417a
Fully expanded
2001:0db8:0000:0000:0008:0800:200c:417a
ip6.arpa nibble order
a.7.1.4.c.0.0.2.0.0.8.0.8.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa
Group12345678
hex20010db80000000000080800200c417a
scope: global unicast
The RFC 5952 rules, applied
  • §4.3 lowercase hex — uppercase input is accepted and normalized.
  • §4.1 leading zeros stripped from each group.
  • §4.2.1 the longest run of zero groups collapses to ::.
  • §4.2.2 equal-length runs: the first collapses; a single zero group never does (a lone 0 stays 0).
  • §5 mixed IPv4 notation is deliberately NOT applied — canonical output is pure hex groups; when your input carries an IPv4 tail it is shown as its own row.
  • The renderer is this site's own implementation, tested against the RFC's own examples — 7 of which are pinned in the test suite.
Done

Finished here in the tab. Nothing was uploaded.

canonical text is a tested property — canonical(parse(canonical)) is always the same string