Home Network Tools Guide

What's the difference between IPv4 and IPv6?

IPv4 is the address format the internet was built on. IPv6 is what it should have been all along — and after thirty years, it's slowly winning.

You run ifconfig on a laptop sitting on a fairly ordinary home network and see two addresses staring back at you. One looks like 192.168.1.42. The other looks like fe80::1ce4:abff:fe23:4567. Both belong to the same network card. Neither is doing anything wrong. Why are there two, and what do they each do?

The short answer is that you're looking at the old internet and the new one, side by side on the same machine. Most networks have been running both for years now, quietly preferring one or the other depending on what's available. The longer answer takes a few paragraphs.

Why IPv6 had to exist

IPv4 addresses are 32 bits long. That gives you 2^32 of them, which works out to about 4.3 billion. In 1981, when the spec was written, that sounded like a lot. The internet had a few thousand hosts and the address pool was handed out by writing letters to Jon Postel.

By the late 1990s it was clear the pool would run dry. IANA, which sits at the top of the allocation tree, handed out its last block of free addresses to a regional registry in February 2011. The regional registries ran out shortly afterward. There are no more new IPv4 addresses to assign — anyone who needs one today either inherits an old allocation, buys one on the secondary market for hundreds of dollars, or accepts that they'll share an address with thousands of strangers via NAT.

IPv6 was specified in 1998 as the fix. Its addresses are 128 bits long. That gives you 2^128 addresses, which is a number so large that every grain of sand on Earth could have a trillion of its own. The pool is not going to run out.

The addresses themselves

An IPv4 address is written as four numbers separated by dots: 203.0.113.42. Each number is one byte, 0 to 255. Easy to type, easy to remember if you have to.

An IPv6 address is written as eight groups of four hex characters separated by colons: 2001:0db8:0000:0000:0000:ff00:0042:8329. Long runs of zeros can be compressed with ::, appearing once per address, so the same value can be written 2001:db8::ff00:42:8329. Leading zeros inside a group can also be dropped. The compression rules take a few minutes to internalise but make working addresses noticeably shorter.

You'll also see two special prefixes a lot. fe80::/10 is the link-local range — every IPv6 interface gets one automatically, used for local network chatter that never leaves the LAN. fc00::/7 is the unique-local range, the IPv6 equivalent of 192.168.x.x. Public addresses on the open internet typically start with 2 or 3.

What changes in practice

The biggest behavioural difference is NAT. On IPv4, your home router has one public address and uses NAT to share it between every device on the network. Devices on the LAN have private addresses; the router rewrites packets on the way out so they appear to come from its single public IP.

On IPv6 there is no NAT, because there's no shortage to work around. Every device on the network gets a globally unique address that's reachable from the open internet — subject to your router's firewall rules. End-to-end addressability is back. For applications like SIP, certain peer-to-peer protocols, and self-hosting, this removes a category of fiddly workarounds (UPnP, STUN, port forwarding) that NAT made necessary.

For most people, none of this is visible. The browser picks one stack or the other, the connection opens, the page loads. The differences only matter when something breaks — a firewall rule written for IPv4 doesn't apply to IPv6 traffic and silently lets through what you thought you were blocking, a log parser chokes on a colon-formatted address it doesn't recognise, a geolocation database lacks an IPv6 entry for the visitor's address.

Why adoption is taking so long

IPv6 has been ready to deploy for over twenty-five years. Why is the world still half on IPv4?

The technical answer is that the two are not interoperable. A device with only an IPv4 address can't talk to a device with only an IPv6 address without a translator in the middle. So every operator who wants to move to IPv6 has to either run both stacks in parallel for years (expensive, complex) or break compatibility with the still-vast IPv4 internet (impossible).

The operational answer is that NAT works well enough that nobody had to. ISPs that ran out of IPv4 addresses added more layers of NAT instead. Equipment vendors shipped v6 support late and buggy. Network operators learned IPv4 in college and never had to learn the new format. Billing systems, monitoring tools, firewall rules, log parsers — all of it was written assuming addresses are four octets long, and rewriting it costs money.

Google's measurements put global IPv6 adoption at roughly 45% as of 2026, up from 5% a decade earlier. The curve is real, but it's slow.

Dual stack — running both

Modern operating systems run IPv4 and IPv6 in parallel. When you open a connection to example.com, the OS does two DNS lookups — an A record for the IPv4 address and an AAAA record for the IPv6 address. If both come back, Happy Eyeballs (RFC 8305) races a connection on each stack and uses whichever responds first, preferring IPv6 if it's competitive.

That's why a dual-stack laptop on a dual-stack network talking to a dual-stack server invariably uses IPv6, but the moment any link in that chain is v4-only, the connection silently falls back. Most users never notice which stack they're on.

In the UK, residential broadband is split: BT, Sky, and most of the larger ISPs deliver IPv6 to home customers. Virgin Media has been famously slow to enable it. On mobile, the picture flipped years ago — most carriers are now IPv6-only on the radio, with IPv4 delivered through a translator (NAT64) for the legacy minority of services that haven't migrated.

Practical takeaways

  • Run what-is-my-ip to see whether your connection presents an IPv4 address, an IPv6 address, or both. "Both" is the modern norm; "IPv4 only" tells you something in the chain is blocking v6.
  • If your home router supports IPv6 and the ISP provides it, enable it. There's no downside for a normal browsing setup and it future-proofs you against the slow tide of v4-only services drying up.
  • If you operate a service, bind it to both stacks. Listening only on IPv4 in 2026 is a self-imposed limitation.

Related reading

The check-if-IPv6-is-working guide is the more hands-on companion — concrete steps to verify whether your connection is doing v6 right now. The what-your-IP-reveals guide goes into what an address can and can't tell about you, which is a different topic in v4 and v6 (IPv6 addresses are often longer-lived and more easily tied to a single device). The what-is-my-ip and DNS lookup tools cover the two ends of the address chain.