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.
RFC 5952 rules, applied and named · nothing is looked upRenderClearCanonical (RFC 5952 §4)2001:db8::8:800:200c:417aFully expanded2001:0db8:0000:0000:0008:0800:200c:417aip6.arpa nibble ordera.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

## Next door in Network

- [IPv6 prefix calculator](/network/ipv6-subnet)
- [IPv4 subnet calculator](/network/ipv4-subnet)
[All network tools](/network)

---

Canonical HTML: https://nutter.tools/network/ipv6-format
Markdown version: https://nutter.tools/network/ipv6-format/index.md
Plain-text version: https://nutter.tools/network/ipv6-format/index.txt
Agent index: https://nutter.tools/llms.txt

