🆔 EUI-64 Calculator

Enter a 48-bit MAC address to compute its modified EUI-64 identifier — used to auto-generate IPv6 interface IDs (inserts FFFE in the middle and flips the universal/local bit).

Two edits turn 48 bits into 64

A MAC address is 48 bits and an IPv6 interface identifier is 64, so the conversion splits the MAC in half, wedges a fixed marker into the gap, and flips one bit in the first byte:

take   AA:BB:CC : DD:EE:FF
insert FF:FE between the halves
first byte = first byte XOR 0x02

00:1A:2B:3C:4D:5E
  -> 00 1A 2B  FF FE  3C 4D 5E
  -> 02 1A 2B  FF FE  3C 4D 5E
  -> 021a:2bff:fe3c:4d5e

The flipped bit is the universal/local flag, worth 0x02 in that first octet. Its sense is deliberately reversed between the two formats: on a MAC, 0 means the manufacturer's globally unique address, while in an interface identifier 1 means universal. So 00 becomes 02, 3C becomes 3E, and AC becomes AE - and a MAC that already starts 02 goes back down to 00.

Reading one backwards, and when it will not appear

EUI-64 addressing is still normal on routers, switches and embedded gear, which is where you will actually meet an ff:fe address when tracking down which box owns an IPv6 neighbour entry.

Frequently asked questions

How do I convert a MAC address to an IPv6 interface ID?

Split the six bytes into two halves, insert FF:FE between them, then invert the 0x02 bit of the leading byte. 00:1A:2B:3C:4D:5E gives 021a:2bff:fe3c:4d5e.

Why does 00 turn into 02 in an EUI-64 identifier?

That is the universal/local bit being inverted. A MAC uses 0 for a globally assigned address; the IPv6 identifier format uses 1 for the same meaning, so the bit is flipped on conversion.

Why does my IPv6 address not contain my MAC address?

Privacy addressing. Modern operating systems generate the last 64 bits randomly or from a hash of the prefix, so the MAC is not exposed and the address changes when you move networks.