HCODX/MAC Address Generator
Cryptographic random · locally-administered · all separators

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.

Options
MAC addresses
Advanced flags
UUID generator
Generated
0
Cast
Unicast
Admin
Local
Status
Ready
Example

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.

Bytes
02 1a 2b 3c 4d 5e
Formatted
02:1a:2b:3c:4d:5e   (Unix)
02-1A-2B-3C-4D-5E   (Windows)
021a.2b3c.4d5e      (Cisco)
021a2b3c4d5e        (compact)
Use cases

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.

Step by step

How to generate random MAC addresses

1

Pick a count

1 for a single MAC, or hundreds for a fixture file. The generator scales to 1,000 per click.

2

Choose separator and case

Colons for Linux, dashes for Windows ipconfig, dots for Cisco, none for compact storage.

3

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.

4

Copy or download

Use to copy the whole list or to save as .txt.

FAQ

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

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.
Related

Related tools