IPv6 Expand
Expand a compressed IPv6 address to its full form: eight groups of four hexadecimal digits, 32 digits in total, with every :: and dropped zero restored.
Expand an IPv6 address
Restores the full eight-group notation: every group written with four hex digits and any :: shorthand filled back in with zero groups.
About IPv6 Expand
Compressed IPv6 addresses are easy to read but awkward to match, sort, or compare programmatically because the same value can be written many ways. Expanding an address reverses the shorthand and produces the one unambiguous full representation: eight colon-separated groups, each padded to four hexadecimal digits, for a total of 32 digits. For example 2001:db8::1 expands to 2001:0db8:0000:0000:0000:0000:0000:0001.
The tool does two things to reach that form. It replaces the double colon (::) with the exact number of all-zero groups it stands for, so the address once again has all eight groups present. Then it pads every group back to four digits by restoring the leading zeros that compression removed. The loopback address ::1, for instance, expands to 0000:0000:0000:0000:0000:0000:0000:0001.
The full form is what you want whenever text has to line up exactly. Fixed-width addresses sort correctly as plain strings, they are easy to match with regular expressions, and they make reverse-DNS PTR records under ip6.arpa straightforward to build because every nibble is present. Databases and spreadsheets that compare addresses as strings also behave predictably when every entry is expanded.
Input can be given compressed, partially shortened, or with a trailing embedded IPv4 suffix, and the tool normalizes it to the canonical 32-digit form. Everything happens in your browser with no server round-trip, so the address is never transmitted. The tool belongs to a self-hosted, privacy-first European toolkit with no third-party dependencies.
How to use it
- 1Enter an IPv6 address in compressed or partial form, for example 2001:db8::1.
- 2The tool validates the address as you type and accepts an embedded IPv4 tail if present.
- 3Read the fully expanded eight-group, 32-digit form in the result box.
- 4Copy the expanded address for use in a regex, PTR record, database column, or fixed-width log.
Common use cases
- -Producing fixed-width addresses that sort and compare correctly as plain strings.
- -Building reverse-DNS PTR records under ip6.arpa where every nibble must be spelled out.
- -Writing regular expressions or parsers that expect all eight groups to be present.
- -Normalizing a column of addresses in a database or spreadsheet before deduplicating them.
- -Reading the exact bit layout of an address by seeing every group in full.
Frequently asked questions
- How do I expand a shortened IPv6 address?
- Replace the :: with enough all-zero groups to make eight groups total, then pad each group to four hex digits. For example 2001:db8::1 expands to 2001:0db8:0000:0000:0000:0000:0000:0001. This tool does both steps for you.
- What is the full form of ::1?
- The IPv6 loopback address ::1 expands to 0000:0000:0000:0000:0000:0000:0000:0001. All seven leading groups are zero and the final group is 0001, giving the full 32-digit representation.
- How many hexadecimal digits are in a full IPv6 address?
- A fully expanded IPv6 address has 32 hexadecimal digits, arranged as eight groups of four. Each digit is one nibble, and 32 nibbles make up the 128-bit address.
- What does :: expand to?
- The double colon expands to as many all-zero 16-bit groups (0000) as are needed to bring the address up to eight groups. The exact count depends on how many non-zero groups the address already has.
- Why would I expand an IPv6 address instead of compressing it?
- Expansion gives every address the same fixed width, which makes string sorting, regex matching, and building ip6.arpa PTR records reliable. Compression is for human readability; expansion is for exact, machine-friendly comparison.
- Is the address I expand kept private?
- Yes. The expansion runs entirely in your browser, so the address never leaves your device or reaches a server. That makes it safe to use with internal or unpublished addresses.