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.
RFC 5952 rules, applied and named · nothing is looked up
- 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
| Group | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| hex | 2001 | 0db8 | 0000 | 0000 | 0008 | 0800 | 200c | 417a |
- §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