IPv6 Formatter
Expand an IPv6 address in full, or shorten it to the one canonical form — the two that have to match when you compare them.
Runs entirely in your browser
Loading tool...
How to use
- Paste the address in whichever form you have it.
- Read the compressed form when writing a config or comparing against a log.
- Read the expanded form when the address has to line up column by column.
- Check the range: link-local and documentation addresses do not behave like public ones.
Features
- RFC 5952 canonical form: lowercase, no leading zeros, :: over the longest zero run.
- Full expansion to eight four-digit groups.
- Reads IPv4-mapped addresses and shows the IPv4 inside.
- Names the range — loopback, link-local, unique local, multicast, documentation.
- Runs entirely in your browser.
Frequently asked questions
- Why does the short form matter if both are valid?
- Because comparisons are done on strings far more often than on addresses. `2001:DB8:0:0:0:0:0:1` and `2001:db8::1` are the same address and different text, so an allowlist, a log filter or a database key written against one will silently miss the other. RFC 5952 exists to give the address exactly one spelling, and this produces it.
- Where exactly does the :: go?
- Over the longest run of consecutive zero groups; if two runs tie, the leftmost wins; and never over a single group, because `::` saves nothing there and creates a second valid spelling. Those three rules are what most quick implementations get wrong.
- What is ::ffff:192.0.2.1?
- An IPv4 address carried inside an IPv6 one. A dual-stack socket represents IPv4 peers this way, so it turns up in logs on machines that were never configured for IPv6. The IPv4 address inside it is shown separately here.
Related tools
Turn a CIDR block into the numbers you actually need — network, broadcast, host range and usable count.
Everything this page can read about your browser, screen and system — shown to you instead of collected.
Break a URL into its scheme, host, path, query parameters and fragment.