IPv6 Explained Table
| Rule / Type | Example | Explanation |
|---|---|---|
| Full form | 2001:0db8:0000:0000:0000:0000:0000:0001 | 8 groups of 4 hex digits separated by colons |
| Leading zeros | 2001:db8:0:0:0:0:0:1 | leading zeros in each group may be dropped |
| :: compression | 2001:db8::1 | :: replaces one or more all-zero groups (once per address) |
| Loopback | ::1 | the IPv6 equivalent of 127.0.0.1 |
| Unspecified | :: | all zeros - the IPv6 equivalent of 0.0.0.0 |
| Link-local | fe80::/10 | auto-configured on every interface, not routable |
| Unique local | fc00::/7 | private addresses, the IPv6 equivalent of RFC 1918 |
| Multicast | ff00::/8 | one-to-many delivery, starts with ff |
| Global unicast | 2000::/3 | publicly routable addresses, starts with 2 or 3 |
| IPv4-mapped | ::ffff:192.168.1.1 | IPv4 address embedded in IPv6 for dual-stack transition |
IPv6 addresses are 128 bits written as eight groups of four hexadecimal digits separated by colons - and because that is unreadable, the format has exactly two compression rules: drop leading zeros in each group, and replace one run of all-zero groups with a double colon (::). This table walks through every rule and address type from RFC 4291.
The address types matter because IPv6 is not one flat space: fe80:: addresses exist on every interface but never route, fc00:: addresses are private, ff00:: addresses are multicast, and 2000::/3 is the public internet.
How to use
- Filter by keyword or address type to find the rule you need - the full form and compression examples are the first three rows.
- Check the address-type rows to decode any IPv6 address: the first bits determine whether it is link-local, unique-local, multicast or global.
- Click a row to copy the example address for testing or documentation.
Frequently asked questions
What is the :: compression rule and when can I use it?
The double colon replaces one or more consecutive all-zero groups. It can appear at most once per address - if it appeared twice, the reader would not know how many zero groups each :: represents. 2001:db8:0:0:0:0:0:1 becomes 2001:db8::1, but 2001:db8:0:1:0:0:0:1 can only compress the second run: 2001:db8:0:1::1.
Why does IPv6 exist if IPv4 works?
IPv4 has 4.3 billion addresses (32 bits), which seemed infinite in 1981 but ran out in 2011. IPv6 has 340 undecillion (128 bits) - enough for every device, every sensor, and every grain of sand with room to spare. NAT, the IPv4 workaround, breaks the end-to-end principle that the internet was built on.
What are link-local addresses (fe80::/10) for?
Every IPv6 interface automatically configures a link-local address the moment it comes up, before any DHCP or manual configuration. These addresses work only on the local network segment - routers do not forward them. They are used for neighbour discovery, router advertisement and as a fallback when no global address exists.
What are IPv4-mapped addresses (::ffff:x.x.x.x)?
They embed an IPv4 address inside the IPv6 format for dual-stack transition: ::ffff:192.168.1.1 represents the IPv4 address 192.168.1.1. Operating systems and applications use them internally when an IPv6 socket speaks to an IPv4 peer, so one code path handles both protocols.