Generate random MAC addresses with selectable format, count, unicast/multicast and locally-administered flags.
Random MACs on demand. Produce one or many MAC addresses in colon, hyphen, space or Cisco dot notation, with control over the unicast/multicast and locally-administered bits. Uses crypto randomness, runs in your browser.
How a MAC address is structured
Six bytes, two halves
A MAC address is 48 bits, normally written as six hex bytes. The first three bytes are the Organisationally Unique Identifier, a block the IEEE sells to hardware vendors; the last three are assigned by that vendor to individual devices. This is why a MAC can usually be traced to a manufacturer — the OUI is a public registry, and lookup tools simply match the first three bytes against it.
Notation varies by ecosystem rather than by meaning. Colons (00:1a:2b:3c:4d:5e) are the Unix and IEEE convention, hyphens (00-1A-2B-3C-4D-5E) are what Windows shows, and Cisco writes three dot-separated groups of four hex digits (001a.2b3c.4d5e). All three encode the same 48 bits.
The two flag bits in the first octet
The two lowest bits of the first byte are not part of the identifier at all. Bit 0 distinguishes unicast from multicast: 0 means the frame is for one interface, 1 means a group. That is why 01:00:5e:... is the IPv4 multicast prefix and ff:ff:ff:ff:ff:ff is broadcast — the bit is set.
Bit 1 is the local/global flag. Cleared, it says the address comes from an IEEE-assigned OUI. Set, it says the address was assigned locally and carries no vendor meaning. Any address you generate yourself should have this bit set, which is why the generated bytes here always land on the second hex digit values 2, 6, A or E. Skipping this step is how test fixtures end up colliding with a real vendor's range.
Randomised MACs and why they matter
Because a MAC is broadcast in the clear by every Wi-Fi probe request, it became a convenient handle for tracking people across venues. Modern phones and laptops now present a different locally-administered MAC to each network by default, and rotate it periodically. This breaks passive tracking, but it also breaks anything that assumed a MAC was a stable device identifier: MAC-based allowlists, DHCP reservations and captive-portal sessions all need rethinking on networks with modern clients.
Generated addresses like these are useful for lab topologies, virtual machine templates, test fixtures and documentation, where you want plausible-looking addresses that are guaranteed not to belong to real hardware.
FAQ
What does locally administered mean?
It sets the second-lowest bit of the first octet, marking the address as assigned by you rather than derived from an IEEE vendor OUI. Use it for anything you generate yourself.
What is the difference between unicast and multicast?
The lowest bit of the first octet decides it. Clear means unicast, addressed to a single interface; set means multicast, delivered to a group of interfaces.
Which format should I use?
Colon-separated is the Linux and general networking convention, hyphens are common on Windows, and the four-digit dotted form is Cisco's. The underlying bytes are identical in all of them.
Are the generated addresses guaranteed unique?
No. They come from a cryptographic random source, so a collision is very unlikely, but nothing checks them against your network. Verify before deploying at scale.
Can I use these on a real network?
Yes, for virtual machines, containers and test interfaces, provided you set the locally administered bit so the address cannot clash with a real vendor-assigned one.
Why generate MAC addresses at all?
Usually for VM and container provisioning, for lab and test fixtures, or for privacy-oriented address randomisation on wireless clients.