IPv6 address converter
Compress and expand IPv6 addresses, and inspect all eight hexadecimal groups.
How it works & useful details
How it works & limits
Parse the hexadecimal and embedded-IPv4 forms in RFC 4291. Output removes leading zeros, uses lowercase and compresses the first longest run of at least two zero groups, following RFC 5952.
IPv4-mapped addresses use mixed notation, such as ::ffff:192.0.2.1. Other addresses use hexadecimal notation. Zone IDs, URI brackets, prefixes and port suffixes are outside this address-only tool. Decimal and binary representations retain all 128 bits exactly.
Your working space
Explore the live view, then save copyable text and a downloadable file. Everything is calculated locally. Inputs are not stored; refreshing clears them.
These tools inspect address notation and ranges. They do not contact addresses, check availability or establish connectivity.
About this tool
IPv6 address converter compresses and expands 128-bit addresses and shows all eight hexadecimal groups with their binary form. It is the reference view for reading long addresses and confirming canonical notation.
The conversion follows the standard compression rules, including the double-colon form. Parsing is local, and no DNS or network lookup is performed.
How to use it
- Enter an IPv6 address in any common notation.
- Read the compressed canonical form and the expanded form.
- Inspect each 16-bit group in hexadecimal and binary.
- Copy the notation your configuration expects.
Worked example
2001:0db8:0000:0000:0000:ff00:0042:8329 compresses to 2001:db8::ff00:42:8329:
- Leading zeros are removed from each group: 0db8 becomes db8, and 0042 becomes 42.
- The longest run of all-zero groups, three groups here, is replaced with ::.
- Letters are lowercase, as RFC 5952 recommends for the canonical text form.
Expanding goes the other way and always yields eight four-digit groups. That form is what you need for sorting, exact string comparison, and reverse-DNS names.
Rules that trip people up
The :: shorthand can appear only once, because two of them would make the number of hidden zero groups ambiguous. A single zero group is written as 0, not ::. When two zero runs have equal length, the first is compressed. These rules come from RFC 5952 and exist so every address has one canonical spelling, which makes logs and configuration files searchable.
IPv4-mapped addresses keep the familiar dotted form at the end, for example ::ffff:192.0.2.1. The address 2001:db8::/32 used in examples is reserved for documentation, so it is safe to publish. Prefix lengths, zone IDs such as %eth0, and brackets with ports such as [2001:db8::1]:443 are part of the surrounding notation, not the address, so remove them before converting.
Frequently asked questions
How does :: compression work?
One or more consecutive all-zero groups are replaced by a double colon, and the rule is applied only once in a valid address.
Are IPv4-mapped addresses recognized?
Addresses with an embedded dotted-quad tail are parsed and shown in both their mixed and expanded hexadecimal forms.
Does it check that an address is reachable?
No. It is purely a notation converter; nothing is resolved or contacted.
Why is the unsigned integer so large?
IPv6 addresses are 128 bits, so their integer form can reach about 3.4 × 10³⁸. The tool keeps all 128 bits exactly instead of rounding.
