Generate random MAC addresses for testing, development, and network simulation. Choose between unicast or multicast, locally administered or universally administered, and generate single or bulk addresses — all processed locally in your browser.

A MAC (Media Access Control) address is a unique 48-bit identifier assigned to every network interface controller (NIC). It operates at Layer 2 of the OSI model and is used for communication within a local network segment. Every device that connects to your network — from laptops to smart home devices — has at least one MAC address.
MAC addresses are essential for MAC address filtering, network diagnostics, and security configurations. You can look up vendor information with our MAC Address Lookup tool to identify which manufacturer produced a given network adapter.
A MAC address consists of six octets (bytes) written as hexadecimal pairs separated by colons or hyphens:
| Component | Bits | Description |
|---|---|---|
| OUI (Organizationally Unique Identifier) | Bits 0-23 | Assigned to manufacturer by IEEE |
| NIC Specific | Bits 24-47 | Assigned by manufacturer to individual device |
| Bit 0 (LSB of first octet) | 1 bit | 0 = Unicast, 1 = Multicast |
| Bit 1 (second LSB) | 1 bit | 0 = Universally Administered, 1 = Locally Administered |
The least significant bit (LSB) of the first octet determines whether an address is unicast or multicast. This distinction is critical for network switches and routers when forwarding frames:
| Type | First Octet LSB | Example | Use Case |
|---|---|---|---|
| Unicast | 0 | 02:xx:xx:xx:xx:xx | Single destination device |
| Multicast | 1 | 03:xx:xx:xx:xx:xx | Group of devices (IGMP, mDNS) |
| Broadcast | All 1s | ff:ff:ff:ff:ff:ff | All devices on the LAN segment |
Most generated addresses for testing should be unicast. Multicast addresses are used for protocols like ARP broadcast, mDNS, and IGMP snooping on managed switches.
The second least significant bit of the first octet controls whether the address is locally or universally administered:
When generating MAC addresses for testing or virtual machines, always use locally administered addresses to avoid conflicts with real hardware. This is especially important when configuring virtual networks on your router or setting up IoT network segmentation.
Pro Tip: When generating random MAC addresses for VM environments, always use locally administered addresses (second hex digit of first octet is 2, 6, A, or E). This prevents conflicts with real hardware OUIs and is the industry standard for virtualization platforms like VMware, Hyper-V, and Docker.
The first three octets (OUI) identify the manufacturer. Use our MAC Address Lookup to find the vendor for any MAC address. Here are some well-known OUIs:
| OUI Prefix | Vendor | Common Devices |
|---|---|---|
| 00:1A:2B | Ayecom Technology | Networking equipment |
| 00:50:56 | VMware | Virtual machines |
| DC:A6:32 | Raspberry Pi | IoT / SBC devices |
| AC:DE:48 | Private (locally administered range) | Testing / development |
| 00:0C:29 | VMware | Virtual adapters |
| 08:00:27 | Oracle VirtualBox | Virtual machines |
Before generating random addresses, you may want to know your current MAC. Here are the commands for each platform:
ipconfig /all
:: Look for "Physical Address" under your network adapter
ifconfig en0 | grep ether
ip link show
# or
cat /sys/class/net/eth0/address
You can also find your MAC address in your router's admin panel under connected devices. If your router is at 10.0.0.1, look under the DHCP client list or attached devices section. Our router IP finder guide can help locate your router's address.
There are many practical reasons to generate random MAC addresses in networking:
| Platform | Format | Example |
|---|---|---|
| IEEE Standard | Colon-separated | 02:42:ac:11:00:02 |
| Windows | Hyphen-separated | 02-42-AC-11-00-02 |
| Cisco IOS | Dot notation (3 groups of 4) | 0242.ac11.0002 |
| Linux/macOS | Colon-separated lowercase | 02:42:ac:11:00:02 |
| EUI-64 (IPv6 SLAAC) | Extended 64-bit | 02:42:ac:ff:fe:11:00:02 |
Yes, changing your MAC address is legal in most jurisdictions. It's a common practice for privacy, testing, and troubleshooting. However, using a spoofed MAC to bypass access controls you don't own or to commit fraud is illegal.
Yes, as long as the MAC is unique on the local network segment. If you have MAC address filtering enabled on your router, you'll need to add the new address to the allowed list.
A locally administered address has bit 1 of the first octet set to 1 (e.g., x2:xx:xx:xx:xx:xx). It signals that the address was assigned by software rather than burned in by the manufacturer. All major virtualization platforms use this convention.
Open Device Manager, find your network adapter, go to Properties → Advanced → Network Address, and enter the new MAC without separators. Alternatively, use PowerShell: Set-NetAdapter -Name "Ethernet" -MacAddress "02-42-AC-11-00-02".
On the same network segment, duplicate MACs cause connectivity issues. Across different networks, duplicates don't matter because MAC addresses aren't forwarded by routers. The chances of two manufactured devices having the same MAC are extremely low.
Since iOS 14 and Android 10, phones use random MAC addresses when scanning for and connecting to WiFi networks. This prevents retailers, advertisers, and network operators from tracking your physical location based on your device's unique hardware address.
The broadcast MAC address is ff:ff:ff:ff:ff:ff. Frames sent to this address are delivered to every device on the local network segment. ARP requests, DHCP discovery, and other broadcast protocols use this address.
About Tommy N.
Tommy is the founder of RouterHax and a network engineer with 10+ years of experience in home and enterprise networking. He specializes in router configuration, WiFi optimization, and network security. When not writing guides, he's testing the latest mesh WiFi systems and helping readers troubleshoot their home networks.
![]() |
![]() |
![]() |
![]() |
Promotion for FREE Gifts. Moreover, Free Items here. Disable Ad Blocker to get them all.
Once done, hit any button as below
![]() |
![]() |
![]() |
![]() |