MAC to IPv6 (EUI-64)
Turn a MAC address into its EUI-64 interface ID, its fe80:: link-local address and its SLAAC address. Paste an IPv6 address to get the MAC back.
IPv6 from the MAC
00:1b:63:84:45:e6Example: type your own MAC address and prefix above.
- SLAAC, expanded
- 2001:0db8:0001:0002:021b:63ff:fe84:45e6
- Put
ff:fein the middle:00:1b:63:ff:fe:84:45:e6 - Flip the U/L bit (value 2) of the first byte, 00 → 02:
02:1b:63:ff:fe:84:45:e6 - Write it as four IPv6 groups:
21b:63ff:fe84:45e6
MAC address
every notation, and what its bits say
- Colons (Linux, macOS)
- 00:1b:63:84:45:e6
- Colons, upper case
- 00:1B:63:84:45:E6
- Hyphens (Windows, IEEE)
- 00-1B-63-84-45-E6
- Dotted (Cisco)
- 001b.6384.45e6
- Plain hex
- 001b638445e6
- Type
- EUI-48 (6 bytes, the usual MAC)
- I/G bit
- 0: unicast (one device)
- U/L bit
- 0: universally administered (set by the maker)
- OUI (maker prefix)
- 00:1b:63
How it works
A MAC address is the 48-bit hardware number of a network card. Early IPv6 built the last 64 bits of an address, the interface ID, straight from it. RFC 4291 calls this the modified EUI-64 format: split the MAC in half, put ff:fe in the middle, and flip the seventh bit of the first byte (the U/L bit, which says who set the address). So 00:1b:63:84:45:e6 becomes 021b:63ff:fe84:45e6.
Every IPv6 interface gets a link-local address from fe80::/64 plus that ID. With SLAAC (stateless address autoconfiguration, RFC 4862) a device also joins the /64 its router announces, so the full address is the prefix plus the same ID.
That made devices easy to track, since the same MAC showed up in every network they joined. Modern Windows, macOS, iOS, Android and Linux use random interface IDs instead: stable per network (RFC 7217) or changing every day (RFC 8981). So most addresses you see today don't reveal a MAC. Only an ID with ff:fe in the middle does. To find who made a network card, use the MAC address lookup; for a private IPv6 prefix of your own, try the IPv6 ULA generator.