IPv6 Address Validator

Validate any IPv6 address, expand compressed forms, and identify the address type. Checks format correctness, expands :: shorthand, and classifies as global unicast, link-local, multicast, loopback, or other types.

IPv6 Address Validator
Figure 1 — IPv6 Address Validator

Understanding IPv6 Address Format

An IPv6 address consists of eight groups of four hexadecimal digits separated by colons, such as 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Leading zeros in each group can be omitted, and consecutive groups of zeros can be replaced with :: (but only once per address). Understanding these rules is essential for working with IPv6 subnets and DNS AAAA records.

IPv6 Address Types

TypePrefixExampleScopePurpose
Global Unicast2000::/32001:db8::1InternetPublicly routable, like IPv4 public IPs
Link-Localfe80::/10fe80::1Single linkAuto-configured, neighbor discovery
Unique Localfc00::/7fd00::1PrivateLike IPv4 192.168.x.x
Multicastff00::/8ff02::1VariesOne-to-many (replaces broadcast)
Loopback::1::1HostLike IPv4 127.0.0.1
IPv4-Mapped::ffff:/96::ffff:c0a8:101Dual-stackIPv4 in IPv6 socket
6to42002::/162002:c0a8:101::1TunnelTransition mechanism

Pro Tip: Every IPv6 interface has at least two addresses — a link-local (fe80::) address generated automatically, and optionally a global unicast address from your ISP or a unique local (fd00::) address. The link-local address is used for neighbor discovery and routing protocols. Use our Link-Local Generator to see how link-local addresses are derived from MAC addresses via EUI-64.

Common Validation Errors

ErrorExampleFix
Too many groups2001:db8:1:2:3:4:5:6:7Maximum 8 groups of hex digits
Double :: used twice2001::db8::1:: can only appear once
Invalid hex character2001:db8::ggggOnly 0-9 and a-f allowed
Group too long2001:db8::12345Maximum 4 hex digits per group
Missing colons2001db8::1Groups must be separated by colons
Note: Zone IDs (like fe80::1%eth0) are valid in link-local addresses and specify which network interface to use. They're stripped during validation since they're not part of the address itself. Zone IDs are essential when you have multiple interfaces, as the same link-local address can exist on different links. Check your current IPv6 address with What Is My IP.

IPv6 Compression Rules

  1. Remove leading zeros2001:0db8:0000:0001 becomes 2001:db8:0:1
  2. Replace longest zero run with ::2001:db8:0:0:0:0:0:1 becomes 2001:db8::1
  3. Only one :: per address — If there are multiple zero runs, compress the longest one
  4. Ties go to the leftmost — If zero runs are equal length, compress the first occurrence

Use our IPv6 Converter for batch address expansion and compression.

Key Takeaways
  • Valid IPv6 addresses have 8 groups of 4 hex digits (128 bits total).
  • The :: shorthand replaces consecutive zero groups but can only appear once.
  • Global unicast (2000::/3) addresses are publicly routable; link-local (fe80::/10) are auto-configured per-link.
  • Every interface has a link-local address — generated via EUI-64 from the MAC address.
  • Use IPv6 Subnet Calculator for prefix calculations and Multicast Reference for ff00::/8 addresses.
  • Verify your IPv6 connectivity at What Is My IP.

Video: IPv6 Addressing Explained

Related Tools

Frequently Asked Questions

How do I validate an IPv6 address?

Check that it has 8 groups of 1-4 hex digits separated by colons (or uses :: to compress zero groups). Each hex digit must be 0-9 or a-f. The :: shorthand can only appear once. Use the validator above for instant checking.

What is the difference between :: and :0:?

A single :0: represents one group of zeros. The :: shorthand replaces one or more consecutive all-zero groups. For example, 2001:db8::1 expands to 2001:db8:0:0:0:0:0:1.

Is fe80::1 a valid address?

Yes, fe80::1 is a valid link-local IPv6 address. Link-local addresses (fe80::/10) are auto-configured on every IPv6 interface and used for local communication like neighbor discovery.

What is a zone ID in IPv6?

A zone ID (e.g., %eth0 in fe80::1%eth0) specifies which network interface to use for link-local addresses. It's needed because the same link-local address can exist on multiple interfaces.

Can an IPv6 address contain uppercase letters?

Yes, IPv6 addresses are case-insensitive. 2001:DB8::1 and 2001:db8::1 are the same address. RFC 5952 recommends lowercase for consistency.

About Tommy N.

Tommy is the founder of RouterHax and a network engineer with 10+ years of experience in home and enterprise networking. He specializes in router configuration, WiFi optimization, and network security. When not writing guides, he's testing the latest mesh WiFi systems and helping readers troubleshoot their home networks.

Promotion for FREE Gifts. Moreover, Free Items here. Disable Ad Blocker to get them all.

Once done, hit any button as below