IPv6 Address Compressor / Expander
Convert IPv6 addresses online into compressed or expanded forms, inspect hextets, prefixes, and reverse DNS output, and clean up network documentation.RFC 5952 IPv6 Format
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Group | Hex | Decimal | Copy |
|---|---|---|---|
| {{ row.index }} | {{ row.hex }} | {{ row.decimal }} |
By copying or publishing this embed code, you are responsible for how the tool appears and is used on your website.
- The embedded tool is provided for general informational and utility purposes only. It is not professional, legal, financial, medical, safety, or compliance advice.
- Results depend on the inputs, browser behavior, available data sources, and the current version of the tool. Review important results before relying on them.
- You are responsible for the surrounding page context, labels, instructions, privacy notices, accessibility, and any laws or policies that apply to your website.
- Do not embed the tool in a misleading, unlawful, harmful, or security-sensitive context.
- Simplified Tools may update, limit, suspend, or remove tools and embed behavior without prior notice.
- Analytics, network requests, cookies, browser storage, third-party services, and query parameters may apply depending on the tool and the embedding page.
If these terms do not work for your use case, do not embed the tool.
Introduction:
IPv6 addresses are easy to misread because the same 128-bit value can be written in several legal text forms. Leading zeros may appear or disappear, one run of zero hextets may collapse into ::, and some addresses may show the last 32 bits as an IPv4 dotted tail. This tool checks one pasted address, tells you whether the text is valid, and then shows both a short form and a fully expanded form so you can compare them without doing the rewrite by hand.
It accepts plain IPv6 text, an optional prefix length such as /64, a zone identifier such as %eth0, and mixed notation such as ::ffff:192.0.2.1. When the address parses cleanly, the result panel also labels the address type, breaks the value into eight hextets, shows the 128-bit binary string, and builds the reverse ip6.arpa name used for DNS pointer work.
That makes the tool useful for documentation cleanup, ACL review, DNS troubleshooting, and side-by-side comparison of values copied from routers, logs, spreadsheets, or tickets. The export options also help when you need a quick CSV, JSON, or DOCX snapshot of what the parser saw.
The result is a formatting and interpretation aid, not a live network test. A value can be valid here and still be unreachable, assigned to the wrong host, or paired with the wrong prefix in a real deployment.
Technical Details:
IPv6 uses eight 16-bit groups written in hexadecimal. RFC 4291 allows more than one text representation for the same address, while RFC 5952 recommends a canonical style so operators can compare records without guessing whether a different spelling is actually a different endpoint. The tool follows that general workflow by first normalizing the address to eight four-digit groups, then deriving a compressed view, a binary view, and the reverse DNS pointer from the normalized value.
The parser handles optional suffixes before validation is finished. If you add a prefix length, it checks that the number is from 0 to 128. If you add a zone identifier after a percent sign, it keeps that zone text separate from the address itself. If the last portion looks like dotted IPv4, the tool converts those four bytes into the final two hextets before continuing. Only after those steps does it decide whether the address can expand into exactly eight valid groups.
If you need RFC 5952-style text for documentation, keep the hex case option on lower. The tool can also show uppercase output for display preference, but that does not change the underlying 128-bit value. The dotted-tail toggle is also a presentation choice. It rewrites only the last 32 bits of the displayed address when that view is useful, especially for IPv4-mapped addresses.
::ffff:192.0.2.1/64| Tool label | Range or pattern checked | What the label usually means |
|---|---|---|
| Unspecified | ::/128 |
No usable address has been assigned yet. |
| Loopback | ::1/128 |
The host is referring to itself. |
| Multicast | ff00::/8 |
Traffic targets a group rather than one interface. |
| Link-local | fe80::/10 |
The address is meant for a single local link. |
| Unique-local | fc00::/7 |
Private-style internal space, not general public routing. |
| 6to4 | 2002::/16 |
A transition prefix associated with 6to4. |
| Teredo | 2001::/32 |
A transition prefix associated with Teredo tunneling. |
| Documentation | 2001:db8::/32 |
Example space for manuals, labs, and documentation. |
| IPv4-mapped | ::ffff:0:0/96 |
An IPv4 address is embedded in the last 32 bits. |
| Global | Anything not matched above | The text is ordinary unicast space as far as this classifier can tell. |
| Output | Derived from | Best use |
|---|---|---|
| Compressed view | Leading zeros removed and the longest all-zero run shortened once | Readable documentation, tickets, and quick comparison |
| Expanded view | Eight four-digit hextets | Exact audits, reverse DNS preparation, and hextet-by-hextet review |
| Hextet table | Each normalized group rendered in hex and decimal | Spotting where one pasted address differs from another |
| Binary blocks | The same 128 bits grouped as 1, 4, 8, or 16 bits | Prefix boundary checks and bit-level troubleshooting |
| Reverse name | All hexadecimal nibbles reversed with ip6.arpa appended |
PTR delegation and DNS verification work |
The Address Details tab also shows a /64 network half and a /64 interface half. That split is helpful because many operational IPv6 subnets still use /64, but it is only a fixed inspection lens here. It does not mean the tool detected a real routing boundary from your input. A typed prefix such as /48 or /127 is preserved separately as its own field.
All parsing, formatting, copying, and file generation happen in the browser. There is no server-side helper for this tool. Non-default inputs can still appear in the page query string, so do not share a bookmarked or copied page link if the address should stay private.
Everyday Use & Decision Guide:
Start by pasting the address exactly as you received it. If the text already includes a prefix length, leave it in place so the prefix badge reflects what the source actually showed. If the address is link-local and came from a local command such as a ping, traceroute, or SSH example, keep the zone identifier too. That is often the missing detail when a copied address looks valid but still fails in practice on a multi-interface host.
Use the compressed view when you want cleaner text for documentation or ticket comments. Use the expanded view when exact group boundaries matter, especially for reverse DNS, firewall review, and manual comparison against logs or spreadsheets. If you are dealing with IPv4-mapped addresses, the dotted-tail option is a readability choice for mixed environments, not a different address family.
Open the Hextet Breakdown tab when the real question is, "Which group changed?" Open Binary Blocks when the real question is, "Where is the prefix boundary?" Those views stop you from mentally expanding and regrouping the address every time you compare two similar-looking values. For saved evidence, the CSV, JSON, and DOCX exports capture the same parsed result you see on screen.
- Keep hex case on lower when you want RFC 5952-style documentation output.
- Use uppercase only when a team style guide or legacy document format requires it.
- Keep dotted-tail display for IPv4-mapped or mixed-stack troubleshooting, not for generic IPv6 notation cleanup.
- Treat the type badge as a range hint, not as proof of reachability or current routing policy.
Step-by-Step Guide:
- Paste one IPv6 address into the input field.
- If the source includes a prefix length, leave it attached as
/n. - If the address is non-global and needs interface context, add the zone identifier before the prefix length, such as
fe80::1%en0/64. - If the last 32 bits are meant to be shown as IPv4, enter them after the final colon as a dotted quad.
- Open Advanced only if you want uppercase display, dotted-tail rendering, or a different binary grouping size.
- Read the Address Details tab first, then switch to Hextet Breakdown, Binary Blocks, or JSON depending on what you need to inspect or export.
Interpreting Results:
A green Valid badge means the address could be normalized after optional suffix handling. It does not mean the prefix is deployed correctly or that the host exists. A red Invalid badge means the parser could not build a legal eight-group address from the text.
- Warnings can appear even when the address itself is valid. For example, an out-of-range prefix is dropped with a warning while the base address may still parse correctly.
- Prefix badge echoes the suffix you entered. It is useful context, but it does not change the fixed
/64split shown in the details table. - Zone badge reminds you that the address was entered with local scope context. That suffix is about interface or zone selection, not part of the raw 128-bit address.
- Type label comes from the checked prefix pattern. If the badge says
DocumentationorIPv4-mapped, that is often the fastest clue that the text is not ordinary production unicast space. - Reverse name is already arranged in nibble-reversed order for DNS. You should not reverse it again before using it in PTR work.
If you are comparing two addresses and only one seems to match, switch both to expanded form first. Many apparent differences disappear once every hextet is padded to four digits and every compressed zero run is made explicit.
Worked Examples:
Cleaning up a documentation address
If you enter 2001:0db8:0000:0000:0000:ff00:0042:8329, the short form becomes 2001:db8::ff00:42:8329. The type badge shows Documentation, which is a quick reminder that the address belongs in examples and lab notes, not in live inventory.
Checking a link-local address with interface context
If you enter fe80::2%3 or fe80::2%en0, the tool keeps the zone identifier visible while still normalizing the address itself. That helps when a local command fails because the address is valid but the interface or zone was missing from the command line.
Reviewing an IPv4-mapped address
If you enter ::ffff:192.0.2.1/64, the expanded result becomes 0000:0000:0000:0000:0000:ffff:c000:0201. The dotted-tail display makes the embedded IPv4 bytes easier to read, while the expanded form makes reverse DNS and hextet inspection easier.
FAQ:
Does this tool test whether an address is reachable?
No. It validates text structure, expands and compresses the address, and labels well-known ranges. It does not send probes, check DNS, or inspect live routing.
Why can a result be valid and still show a warning?
Warnings cover attached details such as an invalid prefix suffix or an empty zone marker. The core address can still be valid after those extras are ignored or separated.
When should I use the zone identifier?
Mostly for non-global addresses such as link-local values. The zone tells the local host which interface or scope to use. It is host-local context, not a portable part of the address.
Why does the reverse name look so long?
IPv6 reverse DNS works one hexadecimal nibble at a time. The tool reverses all 32 nibbles from the expanded address and appends ip6.arpa.
Does the dotted-tail option change the address itself?
No. It only changes how the last 32 bits are displayed when that portion can be shown as an IPv4 dotted quad.
Can I rely on the /64 network and interface split for every prefix?
No. That split is a fixed inspection aid because /64 is common in IPv6 operations. It is not proof that your real prefix boundary is /64.
Is any data uploaded?
No server-side helper is used. Parsing and exports stay in the browser, but a non-default input can still appear in the page URL, so avoid sharing the link when the address is sensitive.
Glossary:
- Hextet
- One 16-bit IPv6 group written in hexadecimal.
- Prefix length
- The number of leading bits that identify the network portion of an address.
- Zone identifier
- Local scope context appended after
%, usually for non-global addresses such as link-local values. - IPv4-mapped address
- An IPv6 format that carries an IPv4 address in the last 32 bits, usually under
::ffff:0:0/96. - Reverse pointer
- The nibble-reversed
ip6.arpaname used for IPv6 PTR records.