ToolJutsu
All tools
Developer Tools

MAC Address Generator

Generate random MAC addresses with vendor OUI prefixes and format options.

Separator
Case
  • 1

    ae:9e:be:bd:72:a1

Processed on your device. We never see your files.

How to use MAC Address Generator

What is a MAC address?

A MAC address — Media Access Control address — is a 48-bit identifier burned into (or assigned to) every Ethernet and Wi-Fi network interface. It is the address Layer 2 of the network stack uses to deliver frames to a specific NIC on a local segment, before any IP routing happens. When your laptop joins a Wi-Fi network and gets handed a DHCP lease, the DHCP server is identifying your machine by its MAC; when a switch builds its forwarding table, it is mapping MACs to physical ports.

MAC addresses are six bytes, conventionally written as six pairs of hexadecimal digits separated by colons (aa:bb:cc:dd:ee:ff) or dashes (AA-BB-CC-DD-EE-FF). The first three bytes are the OUI — Organizationally Unique Identifier — assigned by the IEEE to a manufacturer; the remaining three bytes are the per-device serial chosen by that manufacturer.

How it works

Generating a MAC programmatically means producing 48 random bits with two flags set correctly in the first octet:

  • Bit 0 (least significant) — I/G (Individual/Group). 0 = unicast (one NIC), 1 = multicast (a group). Random unicast MACs must leave this bit at 0.
  • Bit 1 — U/L (Universal/Local). 0 = IEEE-administered OUI, 1 = locally administered. Random MACs set this to 1 so they don’t spoof a real vendor.

In random mode this tool generates six bytes from crypto.getRandomValues, masks the first octet to clear the I/G bit and set the U/L bit, then formats the result. In vendor mode it overwrites the first three bytes with a well-known IEEE-assigned OUI for the chosen vendor, leaves the last three bytes random, and clears the I/G bit. This produces addresses that look like they’re from that vendor — useful for testing inventory and fingerprinting code — but are not, in fact, registered.

Common use cases

  • Lab and home-lab work. Setting up isolated test networks, building VLAN demos, learning how a switch’s CAM table works. Random MACs let you populate the lab without buying hardware.
  • VM provisioning in test environments. Hypervisors normally assign MACs from their own pools, but for repeatable test fixtures it can help to pin specific addresses.
  • Network code testing. DHCP server tests, ARP-table tests, 802.1X enrolment tests, NAC integration tests — anything that consumes a MAC as input and you want to vary it deterministically.
  • Protocol fuzzing. Generating large numbers of distinct MACs to stress-test switch firmware, Wi-Fi controllers or DHCP pools.
  • Documentation and screenshots. Plausible-looking but obviously-not-real addresses in tutorials, slide decks and product mockups.
  • Privacy randomisation reference. Modern OSes (iOS, Android, Windows 10+, macOS Sequoia) randomise their Wi-Fi MAC per SSID to prevent cross-network tracking; this tool produces addresses in the same locally-administered space those OSes use.

How to use this MAC address generator

  1. Choose mode: Random for fully synthetic addresses with the locally-administered bit set, or Vendor to use a well-known OUI prefix (Apple, Cisco, Intel, Microsoft Hyper-V, VMware, VirtualBox).
  2. Pick a separator (colon, dash, dot, none) and case (upper or lower).
  3. Set a bulk count between 1 and 100 if you need a list.
  4. Click Generate. Each address is six independent random bytes (with the vendor or U/L override applied), formatted to your chosen style.
  5. Use Copy to grab a single address or Copy all to take the full list, one per line.

Security considerations

MAC addresses are not secrets — they are broadcast in every Wi-Fi probe and Ethernet frame — but a few cautions apply:

  • Don’t assume uniqueness. Random MACs from this tool are 6 random bytes; the birthday-paradox collision threshold is around 16 million addresses before two are expected to match. For typical test populations this is fine, but if you generate millions, check for duplicates.
  • Don’t ship into production. As covered in the FAQ, these addresses are not IEEE-registered and could collide with real hardware on a real segment. Use your hypervisor’s MAC pool for production VMs.
  • Vendor OUI mode is not impersonation-proof. Network gear can still detect that a device claiming an Apple OUI doesn’t behave like an Apple device (DHCP fingerprint, mDNS announcements, TCP window size). The OUI alone is not authentication; never use these to bypass MAC-based ACLs on a network you don’t own.
  • MAC randomisation is a privacy feature, not a security one. It defeats passive cross-network tracking; it does not protect you against an attacker on your local segment.

Privacy

Each address is generated by crypto.getRandomValues on this tab. The vendor OUI table is shipped as a static JavaScript object — no API call is made. There is no upload, no logging, no analytics on the addresses you produce. After page load the tool works offline.

Compatibility notes

The output formats — colon, dash, dot and no-separator — cover every common consumer. Colon notation works with Linux ip, ifconfig, tcpdump, Wireshark filters, IETF RFCs and Cisco non-IOS tools. Dash notation is the Windows / IEEE 802 default that ipconfig /all and Hyper-V emit. Dot notation (aabb.ccdd.eeff) is the Cisco IOS native form. No-separator is what most programmatic interfaces (database columns, SNMP indices, RADIUS attributes) want. All four are the same 48-bit value rendered differently; conversion between them is mechanical.

Frequently asked questions

What is the locally-administered bit and why does it matter?
The second-least-significant bit of the first octet of a MAC address is the U/L bit (Universal/Local). When it is 0, the address claims to be globally unique and IEEE-administered — i.e., its first 24 bits are an OUI registered to a real manufacturer. When it is 1, the address is locally administered: someone made it up, and it carries no IEEE registration. RFC 5342 and IEEE 802 reserve this bit precisely so private, randomised or VM-generated MAC addresses can coexist with real ones without colliding. In random mode this tool sets the U/L bit to 1 so your generated addresses are clearly local, never accidentally claiming a real vendor's OUI. The first octet ends up with one of x2, x6, xA or xE as its low nibble — 02, 06, 0A, 0E, 12, 16 and so on.
Where do the vendor OUI prefixes come from?
OUI — Organizationally Unique Identifier — is the first 24 bits of a MAC, assigned by the IEEE Registration Authority to manufacturers. The full public registry lives at standards-oui.ieee.org/oui/oui.csv and is freely downloadable. The vendor presets in this tool (Apple, Cisco, Intel, Microsoft Hyper-V, VMware ESX/Workstation, Oracle VirtualBox) use well-known prefixes that IEEE has assigned to those organisations. Note the implication: a generated address with the Apple prefix 00:1C:B3 does not belong to any actual Apple device — it just looks like one. Use these for lab work, testing and documentation, never to impersonate real hardware on a network.
Can I use these on a real production network?
No, not without verifying uniqueness yourself. A MAC address is supposed to be unique on its broadcast domain (the local Ethernet/Wi-Fi segment). Two devices with the same MAC on the same segment produce undefined behaviour — switches get confused, ARP tables flap, packets go to the wrong place. The addresses this tool produces are random, not IEEE-registered, and could trivially collide with an existing device. They are appropriate for lab environments, test harnesses, unit tests, network-protocol fuzzing, VM provisioning in isolated networks, documentation and screenshots. For production VM fleets, use your hypervisor's MAC pool (VMware, Hyper-V, KVM all reserve OUIs for this and track issued addresses to avoid collision).
What formats does the tool output?
Six bytes of randomness can be rendered four common ways: colon-separated aa:bb:cc:dd:ee:ff (Linux, IETF, RFC 5342 default), dash-separated AA-BB-CC-DD-EE-FF (Windows ipconfig, IEEE 802 standard), dot-separated aabb.ccdd.eeff (Cisco IOS), or no separator aabbccddeeff (programmatic / database storage). Case can be set to upper or lower independently. All formats encode the same 48-bit value; pick whichever your downstream tool consumes.
Is anything sent to a server?
No. Each MAC is six bytes from crypto.getRandomValues, formatted and displayed locally. The vendor OUI lookup is a static table in the JavaScript bundle — no API call. There is no network request after the page loads and no analytics on the values you generate.

Related tools