Guide
Generating random MAC addresses for labs and virtual machines
Test networks, containers, virtual machines and demo data all need MAC addresses that are plausible and do not collide with real hardware. The page generates them in bulk. It follows the IEEE rule that separates addresses assigned to manufacturers from addresses made up locally, so your inventions stay out of the way of real devices.
Two bits that decide everything
The first byte of a MAC address contains two flags. The lowest bit says unicast (0) or group (1); a group address is received by many stations, as with multicast. The next bit says universal (0), meaning assigned from an IEEE block, or local (1), meaning made up by software or an administrator. A random address that has the local bit set can never equal a manufacturer-assigned address, because those all have it clear. That is why hypervisors and operating systems that randomise addresses produce values whose second hex digit is 2, 6, A or E.
Options
“How many” accepts 1 to 1,000. The format list offers aa:bb:cc:dd:ee:ff, its upper-case form, hyphenated, Cisco dotted and bare hex styles. “Locally administered” is on by default and is the recommended choice. “Group (multicast) address” sets the other flag, which you rarely want for a host interface but can use to test filters. “Fixed OUI” replaces the first three random bytes with a prefix you supply, for example one you own or one used by a virtualisation product, and the rest is still random.
Where it helps
- Filling a DHCP or switch test lab with unique clients.
- Giving each virtual machine in a template a unique address.
- Creating sample data for an inventory or a monitoring system.
- Teaching how the unicast and local bits work.
- Checking that a parser handles all the notations.
A worked example
Generate three addresses in the default style. A typical result is a6:3f:91:0c:7d:e2: the first byte a6 is 10100110 in binary, so the group bit (lowest) is 0, which means unicast, and the local bit (second from the right) is 1, which means locally administered. If you instead tick “Group address”, the first byte becomes odd, for instance a7. With the fixed OUI 02:00:5e, every address begins 02:00:5e and only the last three bytes vary.
Limits and responsibility
The addresses are random, not reserved: nothing records them, so use your own bookkeeping where uniqueness matters. Using a fixed OUI that belongs to a real manufacturer produces an address that looks genuine but was not issued by them. Changing the address of real equipment may breach policy or hide a device from access controls, so do it only on networks you manage. Random generation uses the browser’s cryptographic generator, which is suitable for testing but not a substitute for assigned addresses in production hardware.
Prefixes used by virtualisation
Hypervisors and container tools reserve their own prefixes so that guest addresses are recognisable. QEMU and KVM commonly use 52:54:00, Xen uses 00:16:3E, VMware uses 00:50:56 and 00:0C:29, Microsoft Hyper-V uses 00:15:5D, and Docker derives container addresses beginning 02:42. Enter one of these as the fixed prefix to produce addresses that look like those of a particular platform, for example when preparing test data for a monitoring system that classifies devices by vendor.
Related tools
- MAC Address Formatter converts a generated list between notations.
- MAC Address Lookup shows whether a prefix belongs to a vendor.
- EUI-64 Calculator maps an address to an IPv6 identifier.
- UUID Generator creates random identifiers when you need an ID rather than an address.
Checked against the current version of the MAC Address Generator on .

