IPv6 Tools

Free IPv6 toolkit. Compress and expand addresses, convert CIDR to range and back, translate IPv4-mapped addresses, and generate a unique local (ULA) prefix.

Four conversions, one page

The IPv6 operations people actually reach for: compress and expand an address, convert a CIDR prefix to its address range (and back), extract an embedded IPv4 address, and generate a unique local prefix for a private network.

All of it is arithmetic running in your browser — nothing you type is transmitted anywhere.

Why one address has several spellings

IPv6 allows leading zeros in a group to be dropped and one run of all-zero groups to be replaced with ::. So 2001:0db8:0000:0000:0000:ff00:0042:8329 and 2001:db8::ff00:42:8329 are the same address written two ways.

That flexibility causes real problems when you're comparing addresses in logs or config files, because string equality fails on identical addresses. RFC 5952 defines one canonical form: lowercase, no leading zeros, and :: applied to the longest run of zero groups — never to a single one. This tool produces exactly that.

Unique local addresses

A ULA is IPv6's equivalent of 192.168.x.x: an address range for internal networks that isn't routed on the public internet. They live in fd00::/8, and RFC 4193 says to choose the 40-bit global ID randomly rather than picking something memorable like fd00:1::.

The reason is collisions. If everyone picks fd00:1::, then the day two networks merge — an acquisition, a site-to-site VPN — their address spaces overlap and something has to be renumbered. A random global ID makes that effectively impossible. The generator here uses a cryptographic random source.

FAQ

What does :: mean in an IPv6 address?

It stands in for one or more consecutive groups of zeros. It can appear only once per address, because two of them would be ambiguous — there'd be no way to tell how many zero groups belonged to each.

Can I convert my IPv4 address to IPv6?

Not in the way the question usually means. IPv4 and IPv6 are separate protocols with separate address spaces; an IPv6 address isn't a re-encoding of an IPv4 one. There are formats that embed an IPv4 address — IPv4-mapped ::ffff:a.b.c.d, used internally by dual-stack software, and the deprecated 6to4 2002::/16 — and this tool converts those. It can't give you a working IPv6 address for an IPv4-only host.

How big is a /64?

18,446,744,073,709,551,616 addresses — more than the entire IPv4 internet, squared. /64 is the standard size for a single subnet because SLAAC autoconfiguration expects 64 host bits. Handing out a /64 per network is normal and not wasteful.

Why do IPv6 addresses use hexadecimal?

128 bits in decimal would be unreadable. Hex maps cleanly to 4 bits per character, so each group of four characters is exactly 16 bits, and the boundaries line up with how prefixes are actually written.

What is fe80:: for?

Link-local addresses. Every IPv6 interface configures one automatically, and it's only valid on that physical link — routers never forward it. It's what neighbour discovery and router advertisement use, which is why you'll see it in ip addr output on machines with no other IPv6 connectivity.

Background reading

For IPv4 subnetting see the subnet calculator; to check whether a domain publishes IPv6, run an AAAA record lookup.