🔗 EUI-64 Generator – MAC Address to IPv6 Interface Identifier
The EUI-64 Generator converts any 48-bit IEEE MAC address (EUI-48) into a 64-bit Extended Unique Identifier (EUI-64) interface identifier, following the IEEE 802 standard and RFC 4291 Appendix A. This is the process that IPv6 hosts use during Stateless Address Autoconfiguration (SLAAC) to derive their link-local and global unicast addresses automatically — without a DHCP server.
📐 What Is an EUI-64 Interface Identifier?
An EUI-64 (Extended Unique Identifier, 64-bit) is the lower 64 bits of an IPv6 address — called the Interface Identifier (IID). When a host has no manually assigned IPv6 address, the operating system can derive the IID directly from its network card's MAC address using the EUI-64 algorithm. The resulting IID, combined with a network prefix, forms a complete 128-bit IPv6 address that is globally unique without any central coordination.
⚙️ How the EUI-64 Conversion Works
The algorithm follows two deterministic steps, both specified in RFC 4291:
1
Insert FF:FE in the Middle
Split the 6-byte MAC into the 3-byte OUI (manufacturer prefix) and the 3-byte NIC-specific part. Insert the two bytes FF and FE between them, expanding the address from 48 bits to 64 bits.
00:1A:2B:3C:4D:5E → 00:1A:2B:FF:FE:3C:4D:5E2
Flip the U/L Bit (XOR 0x02)
XOR the first octet of the 8-byte result with 0x02. This toggles bit 6 — the Universal/Local bit — from 0 (globally unique, manufacturer-assigned) to 1 (locally unique in the IPv6 IID context). For example: 0x00 XOR 0x02 = 0x02.
02:1A:2B:FF:FE:3C:4D:5E3
Group into 4×16-Bit IPv6 Fields
Pair the 8 bytes into four 16-bit groups separated by colons to produce the standard IPv6 IID notation.
021A:2BFF:FE3C:4D5E🌐 Link-Local and Global Unicast Addresses
Once you have the EUI-64 IID, building a complete IPv6 address takes one more step: prepending a network prefix.
| Address Type | Prefix | Example Result |
|---|---|---|
| Link-Local | FE80::/10 | FE80::021A:2BFF:FE3C:4D5E |
| Global Unicast | 2001:db8:acad:1::/64 | 2001:db8:acad:1:021A:2BFF:FE3C:4D5E |
The link-local address (FE80::) is automatically assigned to every IPv6-capable interface and is used only within a single Layer-2 segment (e.g., for neighbour discovery). The global unicast addressis routable on the public internet and is formed by prepending your network's /64 prefix to the same IID.
🔄 Reverse Lookup: EUI-64 → MAC
Because the EUI-64 conversion is deterministic, it is also fully reversible. Given an EUI-64 IID or a full IPv6 address derived from a MAC address, the tool can extract the original 48-bit hardware address by:
- Expanding the IID to 8 octets.
- Removing the
FF:FEbytes at positions 4–5. - XOR-ing the first octet with
0x02again to restore the original U/L bit.
This is particularly useful for network auditing — if you see an unfamiliar IPv6 address in your logs, you can quickly identify which physical device it belongs to.
📦 Supported MAC Address Formats
| Notation | Example |
|---|---|
| Colon-separated (standard) | 00:1A:2B:3C:4D:5E |
| Dash-separated (Windows) | 00-1A-2B-3C-4D-5E |
| Dot notation (Cisco) | 001a.2b3c.4d5e |
| No separator (compact) | 001A2B3C4D5E |
| Mixed case | 00:1a:2B:3c:4D:5e |
📋 Batch Conversion for Network Planning
The Batch Convert tab processes up to 100 MAC addresses in a single operation — ideal for network inventory spreadsheets, provisioning scripts, or classroom exercises. Paste or type one MAC address per line (mixed formats are accepted), optionally supply a /64 prefix, and download the full results as a CSV file containing each MAC, its EUI-64 IID, link-local address, and (if a prefix was given) the full global unicast IPv6 address.
🛡️ Multicast & Broadcast Warnings
The tool automatically detects and warns about two edge cases:
- Multicast MACs (least-significant bit of the first octet = 1, e.g.,
01:00:5E:...) — EUI-64 conversion of multicast addresses is non-standard per RFC 4291 and the result cannot be used as a unicast IID. - Broadcast address (
FF:FF:FF:FF:FF:FF) — cannot represent a unique interface and must not be used as an IID.
📚 RFC References
- RFC 4291 – IP Version 6 Addressing Architecture (Appendix A defines EUI-64 IID construction)
- RFC 4862 – IPv6 Stateless Address Autoconfiguration (SLAAC)
- IEEE 802 – Standard for Local and Metropolitan Area Networks: Overview and Architecture (defines EUI-48 and EUI-64)