Guides

MAC address formats explained

The same 48 bits, half a dozen ways to write them. Here is which is which.

A MAC address is six bytes. Each byte is written as two hexadecimal characters, so the whole thing is twelve characters, and the only thing that varies between formats is what goes between them. If you paste any of the forms below into our lookup, it will work.

The common formats

Written as Style Where you see it
00:1A:2B:3C:4D:5EColons between pairsLinux, macOS, iOS, Android, most network gear
00-1A-2B-3C-4D-5EHyphens between pairsWindows (ipconfig, getmac) and IEEE documents
001A.2B3C.4D5EDots between groups of fourCisco IOS and some other network operating systems
001A2B3C4D5ENo separatorsDatabases, barcodes, some web forms
00:1a:2b:3c:4d:5eLowercaseThe same address. Case never matters
Note: The IEEE's own standard uses hyphens. Colons came from Unix and spread from there. Cisco's four-character groups are the odd one out, and the only format where a byte boundary is not obvious at a glance.

What the parts mean

The first three bytes, 00:1A:2B in the examples above, are the OUI, the block the IEEE assigned to a manufacturer. The last three bytes are a serial number the manufacturer picks. That is what a vendor lookup matches on.

Smaller manufacturers can buy smaller blocks. An MA-M block fixes the first 28 bits, which is seven characters, and an MA-S block fixes 36 bits, which is nine. Our lookup tries all three sizes.

Two bits in the very first byte have special meanings, and you can read them off the second character of the address:

Second character Who assigned it Addressed to Meaning
0, 4, 8, CManufacturer assignedA single deviceThe normal case
2, 6, A, ELocally administeredA single deviceRandomized or software-set address
1, 5, 9, DManufacturer assignedA groupMulticast, e.g. 01:00:5E for IPv4
3, 7, B, FLocally administeredA groupMulticast, e.g. 33:33 for IPv6

FF:FF:FF:FF:FF:FF is the broadcast address, meaning every device on the network. Our guide to locally administered and multicast results covers what each of these looks like in practice.

EUI-64 and IPv6

Some technologies use 64-bit identifiers instead of 48. Zigbee, Thread and other IEEE 802.15.4 radios have them, and so does FireWire. They come from the same IEEE registry and start with the same OUI, written as eight bytes instead of six.

IPv6 originally built the second half of a device's address from its MAC address, using a form called modified EUI-64. Split the MAC address in the middle, insert FF:FE , and flip the locally administered bit:

  1. Start with 00:1A:2B:3C:4D:5E .
  2. Insert FF:FE in the middle: 00:1A:2B:FF:FE:3C:4D:5E .
  3. Flip bit 7 of the first byte, so 00 becomes 02 .
  4. Write it as IPv6: 021a:2bff:fe3c:4d5e .
Note: This is why old IPv6 addresses had ff:fe in the middle and leaked the hardware address to every website. Modern operating systems use random identifiers instead, so you will only see this on older or embedded equipment now.

Convert between formats

Paste an address in any of the forms above and pick how you want it written. Only the hex characters matter, so separators and case in what you paste are ignored.

The converted address appears here.