Logo

MonoCalc

/

EUI-64 Generator

Networking
Accepts: 00:1A:2B:3C:4D:5E, 00-1A-2B-3C-4D-5E, 001a.2b3c.4d5e, 001A2B3C4D5E
Provide a /64 prefix to generate a global unicast address

Flip U/L bit RFC 4291

About This Tool

🔗 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:5E

2

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:5E

3

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 TypePrefixExample Result
Link-LocalFE80::/10FE80::021A:2BFF:FE3C:4D5E
Global Unicast2001:db8:acad:1::/642001: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:

  1. Expanding the IID to 8 octets.
  2. Removing the FF:FE bytes at positions 4–5.
  3. XOR-ing the first octet with 0x02 again 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

NotationExample
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 case00: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.

Privacy Note
All conversions are performed entirely in your browser using client-side JavaScript. No MAC addresses or IPv6 addresses are sent to any server.

🛡️ 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)

Frequently Asked Questions

Is the EUI-64 Generator free?

Yes, EUI-64 Generator is totally free :)

Can I use the EUI-64 Generator offline?

Yes, you can install the webapp as PWA.

Is it safe to use EUI-64 Generator?

Yes, any data related to EUI-64 Generator only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

What is an EUI-64 address?

EUI-64 (Extended Unique Identifier – 64-bit) is a 64-bit interface identifier used in IPv6 networking. It is derived from a 48-bit IEEE MAC address (EUI-48) by inserting the two bytes FF:FE in the middle and, by convention (RFC 4291), toggling the Universal/Local (U/L) bit of the first byte.

How does the EUI-64 conversion work?

The process has two steps: (1) Insert the bytes FF and FE between the third and fourth octets of the MAC address, expanding it from 6 bytes to 8 bytes. (2) XOR the first octet with 0x02 to flip the U/L bit — turning a universally-administered address (U/L = 0) into a locally-unique identifier (U/L = 1) as required by RFC 4291.

What is the U/L bit and why is it flipped?

The Universal/Local (U/L) bit is bit 6 (0-indexed from the MSB) of the first octet in the MAC address. In IEEE 802 notation it is called the 'universal' bit: 0 means globally unique (assigned by the manufacturer), 1 means locally administered. RFC 4291 requires this bit to be complemented when embedding a MAC address in an IPv6 EUI-64 IID so that routers can distinguish between the two types of identifiers.

What is an IPv6 link-local address?

A link-local address is a special IPv6 address used only for communication within a single network segment. It always begins with the prefix FE80::/10. When a device auto-configures using SLAAC (Stateless Address Autoconfiguration), it builds its link-local address by appending the EUI-64 interface identifier to FE80::, resulting in an address like FE80::021A:2BFF:FE3C:4D5E.

Can I reverse an EUI-64 address back to the original MAC?

Yes. Given an EUI-64 IID (e.g. 021A:2BFF:FE3C:4D5E), you can recover the original MAC by: (1) expanding the IID to 8 octets; (2) removing the FF:FE bytes at positions 4–5; (3) XOR-ing the first octet with 0x02 again to restore the original U/L bit state. This tool's Reverse tab performs this automatically.

What MAC address formats are accepted?

The generator accepts all common MAC notation styles: colon-separated (00:1A:2B:3C:4D:5E), dash-separated (00-1A-2B-3C-4D-5E), Cisco dot notation (001a.2b3c.4d5e), and compact 12-character hex strings (001A2B3C4D5E). Mixed case is normalised automatically.