MAC Address Generator
Generate random MAC addresses with vendor OUI prefixes and format options.
- 1
ae:9e:be:bd:72:a1
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
- 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).
- Pick a separator (colon, dash, dot, none) and case (upper or lower).
- Set a bulk count between 1 and 100 if you need a list.
- Click Generate. Each address is six independent random bytes (with the vendor or U/L override applied), formatted to your chosen style.
- 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?
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?
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?
What formats does the tool output?
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?
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
UUID Generator
Generate v1 and v4 UUIDs in bulk.
ULID Generator
Generate sortable, time-based ULIDs.
Random Token Generator
Generate secure random tokens — alphanumeric, hex, base64url or URL-safe.
Password Generator
Generate strong, configurable passwords.
Random Number Generator
Generate random numbers within any range.
Random Color Generator
Generate a random color with one click.