How it works
Expansion pads all eight groups to four hexadecimal digits. Compression removes leading zeros, lowercases letters and replaces the longest run of at least two zero groups with ::. Equal-length ties use the leftmost run.
Worked example
2001:0db8:0000:0000:0042:0000:0000:0001 compresses to 2001:db8::42:0:0:1. The first two-zero run wins the tie.
Inputs, edge cases & common mistakes
A single zero group is not compressed. Only one :: is allowed. Embedded dotted IPv4 is accepted and normalized to hexadecimal groups; mapped-address dotted display is not preserved. Prefix lengths and interface zone IDs are not part of this address-only input.
Technical references
Reviewed 9 September 2026. Found an issue? Send a correction with a reproducible example.