IPv6 Address Converter
Developer Tools · Added
The same IPv6 address can be written a dozen ways, and only one of them is canonical. Paste any spelling to get the fully expanded form, the correctly compressed form, the integer behind it, and what the address block is actually for.
How to use the ipv6 address converter
- 1Paste an IPv6 address in any form — compressed, expanded, upper or lower case.
- 2Add a prefix length such as /64 if you want the network and last address worked out.
- 3Read the expanded and canonical compressed spellings side by side.
- 4Check the scope note before assuming an address is routable.
Examples
Compressing a documentation address
- Input
- 2001:0db8:0000:0000:0000:ff00:0042:8329
- Result
- Compressed to 2001:db8::ff00:42:8329, decimal 42540766411282592856904265327123268393, scope Documentation — with a warning that 2001:db8::/32 never routes on the real internet.
A link-local address
- Input
- fe80::1
- Result
- Expands to fe80:0000:0000:0000:0000:0000:0000:0001, scope Link-local, noting that it usually needs a zone index such as fe80::1%eth0 to be meaningful.
About the ipv6 address converter
Why the canonical form exists
IPv6's shorthand rules were written for people typing addresses, and they left room for choice: which run of zeros to collapse, whether to pad groups, which case to use for hex digits. That flexibility is harmless until software starts comparing addresses as strings, at which point two spellings of one address stop matching.
RFC 5952 removed the choice for anything that generates addresses for people to read. It is not a new format, only a rule for picking among forms that were already legal — which is why an address written some other way is still correct, and still worth normalising before you put it in a log line, a config file or a database key.
Reading an address block
The leading bits of an IPv6 address say more about it than an IPv4 first octet ever did. 2000::/3 is the global unicast space actually routed on the internet; fe80::/10 is link-local and valid only on one segment; fc00::/7 is unique local, the rough equivalent of RFC 1918 private space; ff00::/8 is multicast; and 2001:db8::/32 is set aside for documentation and examples.
That last one accounts for a recurring confusion. Addresses in 2001:db8:: appear throughout tutorials and vendor documentation precisely because they can never route anywhere, so copying one into a live configuration produces a link that comes up cleanly and carries no traffic.
Frequently asked questions
Why does my address compress differently elsewhere?
Can this handle an embedded IPv4 address?
What is the decimal number for?
Why does a /64 not report a usable host count?
Related tools
IP Subnet Calculator
Developer Tools
Work out the network, broadcast, mask and usable host range for any IPv4 CIDR block.
MAC Address Formatter
Developer Tools
Reformat a MAC address between notations and read the flags in its first byte.
Number Base Converter
Converters
Convert between binary, octal, decimal, hexadecimal and any base from 2 to 36.