1. Home
  2. Developer tools
  3. MAC Address Generator

MAC Address Generator

Create valid random MAC addresses for virtual machines, containers and test data. The bits that mark an address as locally administered and unicast are set for you.

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

How to use MAC Address Generator

  1. Choose how many and the format.
  2. Leave locally administered on, or enter a fixed OUI.
  3. Click Generate and copy the list.

Features

  • Locally administered and unicast bits set correctly
  • Optional multicast bit for testing
  • Optional fixed OUI
  • Five output formats
  • Up to 1000 at a time
  • Secure random bytes

Supported formats

Input

  • Options only

You get

  • Random MAC addresses

Private by design

Everything you enter is processed by your browser on this device. Nothing is sent to openWorkstand or anyone else, so the MAC Address Generator 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

  • Addresses are random, so a collision on a very large network is possible, though unlikely.
  • Choosing a real vendor prefix produces a valid-looking address that the vendor did not issue.

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.

Checked against the current version of the MAC Address Generator on .

Frequently asked questions

Is a randomly generated address guaranteed to be unique?

No. With 46 free bits a clash is very unlikely, but nothing prevents one. For a large lab, generate a few extra and let your DHCP server or hypervisor reject duplicates.

Why does the second hex digit matter?

It carries the two flag bits. Digits 2, 6, A and E mean locally administered unicast, which is what you want for software-defined interfaces.

Why do random MAC addresses start with 02, 06, 0A or 0E?

The second bit of the first byte marks a locally administered address and the lowest bit must be 0 for unicast. That leaves 2, 6, A and E as the second hex digit.

Can two random addresses clash?

With 46 random bits the chance is tiny on any normal network, but two virtual machines on one segment with the same address would conflict, so check when cloning machines.

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.