1. Home
  2. Developer tools
  3. EUI-64 Calculator

EUI-64 Calculator

Enter a MAC address and a prefix to see the IPv6 address a device would form with EUI-64. Or paste an IPv6 address to recover the MAC address inside it.

Free, no sign-up. Runs in your browser: nothing is uploaded.

How to use EUI-64 Calculator

  1. Enter the MAC address and a 64-bit prefix.
  2. Follow the steps shown.
  3. Copy the interface identifier or the full address.

Features

  • Inserts ff:fe and flips the universal/local bit
  • Shows each step
  • Link-local fe80:: default prefix
  • Reverse: MAC from an IPv6 address
  • Matches the RFC 4291 example
  • Short IPv6 notation

Supported formats

Input

  • MAC address
  • IPv6 prefix

You get

  • Interface identifier
  • Full IPv6 address

Private by design

Everything you enter is processed by your browser on this device. Nothing is sent to openWorkstand or anyone else, so the EUI-64 Calculator is safe for private and work data. After you have used it once while online, it also works without an internet connection. How local processing works

Good to know

  • Modern operating systems usually use privacy addresses instead of EUI-64, so the result is not the address your device actually uses.
  • Only /64 prefixes are meaningful.

Guide

Deriving an IPv6 address from a MAC address with EUI-64

When IPv6 was designed, the idea was that a host could build the last 64 bits of its own address from its network card’s MAC address, so address configuration needed no server. The method is called modified EUI-64 and is still how many embedded devices and servers form their link-local address. The page applies the algorithm in either direction, so you can predict an address or recover the hardware address from one.

The three steps

Start with the 48-bit MAC address 34:56:78:9a:bc:de. First, split it in the middle and insert the two bytes ff:fe between the third and fourth byte: 34:56:78:ff:fe:9a:bc:de. Second, flip the universal/local bit, the 0x02 bit of the first byte; here 0x34 becomes 0x36. Third, write the eight bytes as four groups: 3656:78ff:fe9a:bcde. That 64-bit value is the interface identifier. Prefixed with fe80:: it gives the link-local address, and prefixed with a /64 advertised by a router it gives a global address under stateless address autoconfiguration.

Why the bit is flipped

In a MAC address the universal/local bit is 0 for a manufacturer-assigned address. In the IPv6 identifier the meaning was inverted so that locally chosen identifiers, such as manual ::1 or ::2 numbers, could be written with leading zeros without setting the bit by accident. The inversion is the single odd step in the algorithm and the one people forget.

Working backwards

The page’s second mode takes an IPv6 address, looks at its last 64 bits and checks for ff:fe in the middle. If it is present, it removes it and flips the bit back, giving a MAC address. This can reveal which vendor made a device, using the MAC Address Lookup, when you only have its IPv6 address. If the pattern is missing, the address was not built this way and no MAC address can be recovered from it.

Why you often will not see these addresses

EUI-64 identifiers are stable across networks, which allows tracking of a device wherever it connects, since the lower 64 bits never change. RFC 7217 defines stable but opaque identifiers that differ per network, and RFC 8981 defines temporary addresses that change over time. Windows, macOS, iOS, Android and most Linux distributions use one of these by default for global addresses. EUI-64 remains common for link-local addresses on servers, switches and routers.

A worked example

The page’s sample takes the MAC address 34:56:78:9a:bc:de. Inserting ff:fe gives 34:56:78:ff:fe:9a:bc:de, flipping the bit changes 34 to 36, and the interface identifier is 3656:78ff:fe9a:bcde. With the default prefix the link-local address is fe80::3656:78ff:fe9a:bcde; with 2001:db8:1:2:: the page shows 2001:db8:1:2:3656:78ff:fe9a:bcde. The EUI-64 bytes are listed as 36:56:78:ff:fe:9a:bc:de.

Limits

The result is a prediction. Whether a device actually uses it depends on its operating system and settings. The prefix should be 64 bits long, as automatic configuration requires. The tool does not check duplicates on the link.

Checked against the current version of the EUI-64 Calculator on .

Frequently asked questions

Why is the first byte changed from 34 to 36?

The universal/local bit has the opposite meaning in an interface identifier: 1 now means universal. Flipping bit 0x02 in the first byte therefore turns 34 (binary 00110100) into 36 (00110110) for a globally unique MAC address.

Does an EUI-64 address reveal my MAC address?

Yes, the six bytes are visible apart from the one flipped bit and the inserted ff:fe. That is the privacy problem which led operating systems to adopt temporary and opaque identifiers.

What is the EUI-64 of 34:56:78:9A:BC:DE?

3656:78ff:fe9a:bcde. The first byte 34 becomes 36 when the universal/local bit is flipped, and ff:fe goes in the middle.

Do modern devices still use EUI-64?

Most operating systems default to random or stable-privacy identifiers because EUI-64 exposes the hardware address in every packet.

Keep working with the result

openWorkstand also includes a free workspace with documents, spreadsheets, tasks, projects and a calendar that save to a folder on your computer.