Neatbo.

IPv6 expand and compress

Convert one IPv6 address to canonical, expanded and colon-free 32-digit forms.

Browser-local processingInputIPv6 addressOutputJSON
  1. 1Add input
  2. 2Review and run
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

Check the IPv6 address

Enter one full or compressed IPv6 address, or exactly 32 hexadecimal digits without colons. An embedded IPv4 dotted tail is also accepted.

Enter one IPv6 address or 32 hexadecimal digits to preview its canonical form.

This changes only the text representation of a 128-bit address. It does not check DNS, ownership or reachability.

0 characters · 0 bytes
Preparing the tool…

Before you start

Convert one IPv6 address or 32-digit hexadecimal value into RFC 5952 compressed notation, eight four-digit groups and a colon-free 32-digit value. Copy the exact form your destination requires.

How to use this tool

  1. Paste one full or compressed IPv6 address, or exactly 32 hexadecimal digits.
  2. Check the detected input and canonical address preview.
  3. Copy the compressed, eight-group or 32-digit form needed by your destination, or download the complete JSON.

Supported inputs and limits

One value per run. Full and compressed IPv6, an embedded IPv4 dotted tail and exactly 32 hexadecimal digits without colons are accepted. IPv4-mapped addresses use a dotted tail in the canonical result.

CIDR prefixes, zone IDs, brackets and ports are not accepted. This tool changes notation only; it does not perform DNS, ownership or reachability checks.

Worked example

Example input

2001:db8::1
Example options
{}

Example output

{
  "compressed": "2001:db8::1",
  "expanded": "2001:0db8:0000:0000:0000:0000:0000:0001",
  "hex32": "20010db8000000000000000000000001"
}

When something does not work

Enter one IPv6 address or exactly 32 hexadecimal digits without a /prefix, %zone, brackets or port.

Frequently asked questions

Why is there a 32-digit value without colons?

Some address configuration and database workflows require the full 128-bit value as hexadecimal digits without separators. Copy that field when the destination asks for it.

Which zero groups are compressed?

The RFC 5952 form removes leading zeros, shortens the longest run of at least two zero groups, and chooses the leftmost run on a tie.

How are IPv4-mapped IPv6 addresses shown?

The canonical field uses a dotted IPv4 tail, such as ::ffff:192.0.2.1. The eight-group and 32-digit fields still show the complete hexadecimal value.

Can I enter a /64 prefix, %zone or [address]:port?

No. Enter only the address. Use the IPv6 subnet calculator for prefix boundaries; this tool does not interpret a zone or port.

Is my input sent to a server?

No. Tool input is processed in your browser, not sent to a server. Temporary workspaces stay in the same tab and are cleared by a refresh or tab closure. Save the results you need.

Documentation & further reading

Related tools