MAC Address Generator
Produce random IEEE 802 MAC addresses for lab work, testing, or virtual NICs. Pick any common separator, case, and bulk count — the locally-administered bit is set by default so generated MACs never collide with a real vendor OUI.
Six random bytes, six common formats
The same 48-bit value renders in colon, dash, dot, or no-separator form. Pick whichever your stack expects.
02 1a 2b 3c 4d 5e
02:1a:2b:3c:4d:5e (Unix) 02-1A-2B-3C-4D-5E (Windows) 021a.2b3c.4d5e (Cisco) 021a2b3c4d5e (compact)
What you'll use this for
Anywhere a real NIC would burn its OUI into the hardware, a random MAC fills in for development and tests.
VMs & containers
Assign predictable but unique MACs to KVM, QEMU, Docker, and Proxmox network interfaces.
Lab & CI fixtures
Seed integration test inventories with realistic-looking MAC values without leaking real hardware addresses.
Privacy / MAC randomization
Mirror the behavior of iOS / Android private MAC by setting the locally-administered bit.
DHCP / DNS demos
Populate a screenshot or training lab with a clean batch of plausible addresses.
How to generate random MAC addresses
Pick a count
1 for a single MAC, or hundreds for a fixture file. The generator scales to 1,000 per click.
Choose separator and case
Colons for Linux, dashes for Windows ipconfig, dots for Cisco, none for compact storage.
Decide admin bit
By default the locally-administered bit is set — safe for VMs. Flip to globally administered only if you specifically need a vendor-style address.
Copy or download
Use to copy the whole list or to save as .txt.
Frequently asked questions
Yes. The locally-administered bit (bit 1 of the first byte) is set by default, marking each MAC as a private address that can never collide with a vendor-assigned OUI. You can disable that with the Globally administered toggle if you specifically need it.
Bit 0 of the first byte distinguishes them. A 0 means unicast — the frame goes to exactly one NIC. A 1 means multicast — every member of the group receives it. The tool defaults to unicast.
Yes. We use crypto.getRandomValues, the browser's CSPRNG. It's the same source you'd use for cryptographic keys.
With 46 random bits the birthday probability is astronomically low for any practical batch. But the tool doesn't de-dupe; if you need 100% uniqueness over millions of MACs, dedupe externally.
The first three bytes of a globally-administered MAC are the Organizationally Unique Identifier — Cisco, Apple, Intel etc. each own ranges. Randomized local MACs deliberately avoid that registry.
About MAC addresses
A MAC (Media Access Control) address is the 48-bit hardware identifier each Ethernet, Wi-Fi or Bluetooth NIC carries. The format is defined by IEEE 802 and split into a 24-bit OUI and a 24-bit device id. Two flag bits in the very first byte tell switches how to treat the frame:
The two flag bits
- I/G bit (bit 0) — 0 for unicast, 1 for multicast.
- U/L bit (bit 1) — 0 for globally administered (vendor OUI), 1 for locally administered (your own range).
Format conventions
- Unix / IEEE — colon-separated, lowercase:
aa:bb:cc:dd:ee:ff. - Windows — dash-separated, uppercase:
AA-BB-CC-DD-EE-FF. - Cisco — dot-separated triplets:
aabb.ccdd.eeff.