EUI-64

1. Introduction to EUI-64

Imagine this:

You’re deploying hundreds — or thousands — of IPv6-enabled devices in a large company or IoT environment.

Manually assigning each interface its own address? ❌ No way.

You need something automatic, unique, and scalable.

That’s exactly what EUI-64 is designed for.

💡 What is EUI-64?

EUI-64 (Extended Unique Identifier) is a method used in IPv6 to automatically generate a 64-bit interface identifier based on the device’s 48-bit MAC address.

It means:

  • No manual address assignment
  • Less risk of duplication
  • Seamless deployment at scale

📦 IPv6 Address Structure Recap

An IPv6 address is 128 bits, and it’s split like this:

SectionLengthPurpose
Network Prefix64 bitsAssigned by the ISP or admin
Interface ID64 bitsIdentifies the host (EUI-64 helps here)

Example:
2001:db8:abcd:1:____:____:____:____

EUI-64 fills in the second part automatically, using the device’s MAC address.

Diagram of an IPv6 address highlighting the first 64 bits as the network prefix and the remaining 64 bits as the interface identifier.

2. How EUI-64 Works

Now let’s break down how EUI-64 transforms a MAC address into a 64-bit interface ID.

🧪 Step 1: Split the MAC Address

Let’s say your MAC address is:

Illustration of a 48‑bit MAC address divided into a 24‑bit OUI (company identifier) and a 24‑bit NIC extension identifier.

This 48-bit MAC address is split into two halves:

🧩 Step 2: Insert FFFE in the Middle

Next, we insert the value FFFE in the middle to expand from 48 bits to 64 bits:

Diagram showing the EUI‑64 process: splitting a 48‑bit MAC address, inserting the FF:FE bytes in the middle, and flipping the 7th bit to form a 64‑bit IPv6 interface identifier.

Now we’ve got our 64-bit interface identifier — almost.

🔁 Step 3: Flip the 7th Bit

Last step:
We need to flip the 7th bit of the first byte (00).

The first byte is:

Diagram showing inversion of the 7th bit and insertion of FF:FE into a 48‑bit MAC address to generate an IPv6 EUI‑64 interface identifier.

So the final EUI-64-based Interface Identifier becomes:

02:1A:2B:FF:FE:3C:4D:5E

This value can now be used as the interface ID in your IPv6 address.

🔗 Example of full IPv6 address:

If your prefix is:

2001:db8:abcd:1::/64

Then your full IPv6 address becomes:

2001:db8:abcd:1::021A:2BFF:FE3C:4D5E

3. Summary

✅ Key Benefits of EUI-64

  • 🔧 Automatic Addressing
    Devices can generate their IPv6 address on the fly — no manual configuration needed.
  • 📈 Scalability
    Perfect for large networks or IoT deployments where assigning addresses manually would be a nightmare.
  • 🔐 Reliability
    Based on the device’s hardware MAC address, ensuring globally unique interface identifiers.

⚠️ Limitations

While EUI-64 is efficient, there’s a trade-off:

It reveals the MAC address in the IPv6 address — which can expose the manufacturer or device type.
In privacy-sensitive environments, this can be a concern.