MAC ↔︎ EUI-64 Converter

Convert MAC addresses to EUI-64, and back. Also shows IPv6 link-local/global using the interface ID.

About This Tool

The MAC to EUI-64 Converter transforms MAC-48 addresses (6 bytes) into EUI-64 format (8 bytes) and generates IPv6 addresses using the modified EUI-64 interface identifier. This conversion is fundamental to IPv6 Stateless Address Autoconfiguration (SLAAC), where hosts automatically derive their IPv6 addresses from network prefixes and their MAC addresses. The tool performs batch conversions, displays both link-local (fe80::/10) and global IPv6 addresses, and provides detailed information about the universal/local and unicast/multicast bits. Understanding EUI-64 is essential for IPv6 address planning, troubleshooting SLAAC, and analyzing IPv6 network behavior.

How to Use

  1. Enter MAC addresses in the textarea, one per line
  2. Accepted formats: colon-separated (00:1A:2B:3C:4D:5E), hyphen-separated, or EUI-64
  3. Optionally enter a global IPv6 prefix (e.g., 2001:db8::/64) for generating global addresses
  4. Click "Convert" to process all addresses
  5. Review the results table showing Input, Type, MAC, EUI-64, Link-Local, Global, and Notes
  6. Check the summary for valid and invalid input counts
  7. Link-local addresses (fe80::) are always generated automatically
  8. Global addresses require a valid /64 prefix to be entered

Features

  • Batch conversion of multiple MAC addresses
  • MAC-48 to EUI-64 format conversion (insert ff:fe at byte 3)
  • Modified EUI-64 calculation (flip universal/local bit)
  • Automatic IPv6 link-local address generation (fe80::)
  • Global IPv6 address generation with custom prefix
  • Reverse conversion: EUI-64 back to MAC-48
  • Universal/local bit detection and display
  • Unicast/multicast bit identification
  • Validates input format and provides error messages
  • RFC 4291 and RFC 2464 compliant

Common Use Cases

  • Predicting IPv6 addresses generated by SLAAC
  • IPv6 address planning and subnet design
  • Troubleshooting why a device has a specific IPv6 address
  • Verifying SLAAC behavior on network devices
  • Understanding the relationship between MAC and IPv6 addresses
  • Security analysis: identifying devices by IPv6 address patterns
  • Network documentation and inventory
  • Educational purposes: teaching IPv6 address formation
  • Debugging privacy extensions and temporary addresses
  • Analyzing IPv6 neighbor cache entries

Technical Details

EUI-64 is a method for deriving a 64-bit interface identifier from a 48-bit MAC address, defined in IEEE standards and adapted by IPv6 (RFC 2464, RFC 4291).

Conversion Process (MAC-48 to EUI-64):

  1. Take the 48-bit MAC address (e.g., 00:1A:2B:3C:4D:5E)
  2. Split into two halves: 00:1A:2B and 3C:4D:5E
  3. Insert ff:fe in the middle: 00:1A:2B:ff:fe:3C:4D:5E
  4. Flip the universal/local bit (7th bit of first byte)
  5. Result: 02:1A:2B:ff:fe:3C:4D:5E (modified EUI-64)

Universal/Local Bit (U/L Bit):

  • 7th bit (0x02) in the first byte
  • 0 = Universally Administered: Factory-assigned, globally unique MAC
  • 1 = Locally Administered: Custom/software-assigned MAC
  • IPv6 Inverts This: 1 = universal, 0 = local (opposite of MAC convention)
  • Example: MAC 00:1A:2B:... → EUI-64 02:1A:2B:... (flipped from 0x00 to 0x02)

Why Flip the Bit?

IPv6 inverts the U/L bit semantics so that the more common case (factory MAC addresses with bit=0) becomes 1 in IPv6, indicating a globally unique identifier. This ensures most SLAAC addresses have the universal bit set.

IPv6 Address Generation:

  • Link-Local: fe80:: + modified EUI-64 (e.g., fe80::21a:2bff:fe3c:4d5e)
  • Global: prefix (e.g., 2001:db8::/64) + modified EUI-64 (e.g., 2001:db8::21a:2bff:fe3c:4d5e)
  • The :: notation compresses leading zeros in the interface ID

Example Conversion:

  • MAC: 00:1A:2B:3C:4D:5E
  • Insert ff:fe: 00:1A:2B:ff:fe:3C:4D:5E
  • Flip bit 7: 02:1A:2B:ff:fe:3C:4D:5E
  • Link-Local: fe80::21a:2bff:fe3c:4d5e
  • Global (2001:db8::/64): 2001:db8::21a:2bff:fe3c:4d5e

Multicast Bit:

The 8th bit (0x01) of the first byte indicates unicast (0) or multicast (1). IPv6 interface IDs should never have this bit set for unicast addresses.

Privacy Concerns:

  • EUI-64 addresses expose the MAC address, enabling device tracking
  • Same device has same interface ID across all networks
  • RFC 4941 Privacy Extensions: Generate random temporary addresses instead
  • Modern OSes prefer privacy addresses for outbound connections
  • SLAAC-generated addresses still used for inbound connections

SLAAC Process:

  1. Host receives Router Advertisement (RA) with prefix (e.g., 2001:db8::/64)
  2. Host derives interface ID from MAC using modified EUI-64
  3. Combines prefix + interface ID to form complete IPv6 address
  4. Performs Duplicate Address Detection (DAD) via NDP
  5. If no duplicate, assigns address to interface

Reverse Conversion (EUI-64 to MAC):

  1. Extract interface ID from IPv6 address (last 64 bits)
  2. Remove ff:fe from bytes 3-4
  3. Flip the universal/local bit back
  4. Result is the original MAC-48 address

Alternative Interface ID Methods:

  • Manual configuration: Statically assigned addresses
  • DHCPv6: Server-assigned addresses
  • Privacy extensions: Random temporary addresses (RFC 4941)
  • Stable privacy addresses: Hash-based stable addresses (RFC 7217)
  • Cryptographically Generated Addresses (CGA): RFC 3972

When EUI-64 is Used:

Despite privacy concerns, EUI-64 remains common for: infrastructure devices (routers, switches), servers with static addressing, IoT devices, and any scenario where stable, predictable addresses are preferred over privacy.