Generate EUI-64 interface identifiers from MAC addresses. Insert FFFE, flip the 7th bit, and create IPv6 interface IDs for SLAAC.

EUI-64 converts a 48-bit MAC address into a 64-bit IPv6 interface identifier through three steps: split the MAC in half, insert FF:FE in the middle, and flip the 7th bit (Universal/Local bit). This creates a unique interface ID that SLAAC uses to generate IPv6 addresses automatically.
Use our MAC Lookup to identify the vendor from any MAC address, and the Link-Local Generator to see the complete fe80:: address.
| Step | Action | Example |
|---|---|---|
| 1 | Start with MAC address | AA:BB:CC:DD:EE:FF |
| 2 | Split in half | AA:BB:CC | DD:EE:FF |
| 3 | Insert FF:FE in middle | AA:BB:CC:FF:FE:DD:EE:FF |
| 4 | Flip 7th bit of first byte | A8:BB:CC:FF:FE:DD:EE:FF |
| 5 | Format as IPv6 | a8bb:ccff:fedd:eeff |
Pro Tip: Modern operating systems use privacy extensions (RFC 4941) that generate random interface IDs instead of EUI-64, preventing device tracking. You can check if your device uses EUI-64 by comparing your IPv6 address with your MAC — if you see FF:FE in the middle of the interface ID, EUI-64 is in use. Check your IPv6 address at What Is My IP.
Because EUI-64 embeds your MAC address in every IPv6 address, your device can be tracked across networks. This is why privacy extensions were created:
| Method | Interface ID | Privacy | Used By |
|---|---|---|---|
| EUI-64 | Derived from MAC | Low — trackable | Link-local, legacy SLAAC |
| Privacy Extensions | Random, rotating | High | Windows, macOS, Linux default |
| Stable Privacy (RFC 7217) | Hash-based, stable per network | Medium-High | Modern Linux |
# Windows — check IPv6 addresses
ipconfig /all | findstr "IPv6"
# Linux — check interface ID
ip -6 addr show
# macOS
ifconfig | grep inet6
# Look for ff:fe in the interface ID portion
# Example: 2001:db8::a8bb:ccff:fedd:eeff
# ^^^^ ^^ = FFFE present = EUI-64
EUI-64 converts a 48-bit MAC address into a 64-bit IPv6 interface identifier by inserting FFFE in the middle and flipping the 7th bit.
The Universal/Local bit is flipped to align MAC address semantics with IPv6. In MACs, 0=universal. In IPv6, 1=universal. Flipping makes them consistent.
It can be, because it embeds your MAC in every IPv6 address, enabling device tracking. Modern systems use privacy extensions to generate random IDs instead.
No. Windows, macOS, and modern Linux default to privacy extensions with random interface IDs. EUI-64 is mainly used for link-local addresses.
Enable privacy extensions: on Windows it is on by default. On Linux: sysctl net.ipv6.conf.all.use_tempaddr=2. On macOS it is on by default.
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
![]() |
![]() |
![]() |
![]() |