What MAC Address Generator does
This random MAC address generator produces between 1 and 100 48-bit addresses per run and writes them with colons, hyphens or no separator, in uppercase or lowercase hex. Every address it makes is unicast, so it is valid as the address of a single interface. With Locally administered ticked, which is the default, the second hex character of each address is always 2, 6, A or E. That marks it as software-assigned, which keeps it out of the ranges the IEEE sells to hardware makers. There is no vendor prefix field and no Cisco dotted format. The addresses are test data made by a simple seeded generator and are not suitable as secrets or unguessable identifiers.
What the second hex character of a MAC address means
Two bits in the first byte decide the type of address. Both sit in the second hex character, so you can classify an address at a glance.
| Second character | Type | Produced by this tool |
|---|---|---|
| 0, 4, 8, C | Unicast, universally administered (manufacturer prefix expected) | Only when Locally administered is unticked |
| 2, 6, A, E | Unicast, locally administered (assigned by software) | Yes, always when the box is ticked |
| 1, 5, 9, D | Multicast group address, universally administered | Never |
| 3, 7, B, F | Multicast group address, locally administered | Never |
FF:FF:FF:FF:FF:FF is the broadcast address. It falls in the last row and is never generated.
Sample output in each format
These were produced by the tool from a single run with different settings. Your own results will differ, because each press of Generate starts from a new random seed.
Default settings: colon, uppercase, locally administered
How many 5, Separator Colon, Uppercase on, Locally administered on
FA:4E:7B:D1:82:58, 12:C4:FF:D3:75:F2, E2:F8:A0:3F:79:4E, C6:DD:A5:C7:C9:A7, 72:12:53:34:C0:19
The second characters are A, 2, 2, 6 and 2, all in the locally administered set.
Hyphen separator
Same run with Separator Hyphen
FA-4E-7B-D1-82-58, 12-C4-FF-D3-75-F2, E2-F8-A0-3F-79-4E
The form Windows prints in ipconfig /all and getmac.
No separator, lowercase
Same run with Separator None and Uppercase unticked
fa4e7bd18258, 12c4ffd375f2, e2f8a03f794e
Locally administered unticked
Same run with the Locally administered box unticked
FA:4E:7B:D1:82:58, 12:C4:FF:D3:75:F2, E2:F8:A0:3F:79:4E, C4:DD:A5:C7:C9:A7, 72:12:53:34:C0:19
Only the fourth address changed, from C6 to C4. Unticking the box does not force a manufacturer-style address; it just stops forcing the local bit, so roughly half the results are still locally administered.
MAC address formats and where each is used
| Format | Example | Typical use | Separator setting |
|---|---|---|---|
| Colon-separated pairs | FA:4E:7B:D1:82:58 | Linux and macOS tools, most routers and firewalls, DHCP reservations | Colon |
| Hyphen-separated pairs | FA-4E-7B-D1-82-58 | Windows tools and the IEEE's own notation | Hyphen |
| Bare 12 characters | FA4E7BD18258 | Windows adapter Network Address setting, databases, some APIs | None |
| Dotted groups of four | fa4e.7bd1.8258 | Cisco IOS configuration and show commands | Not offered: generate with None, then add a dot after every four characters |
Why locally administered is the right choice for VMs and test data
The first three bytes of a manufacturer-assigned address are an Organizationally Unique Identifier, a block the IEEE registers to one company. A fully random address can land inside a registered block by chance. It then looks like that company's hardware in any inventory or monitoring tool that maps prefixes to vendors, and it could in principle equal the address of a real device.
Setting the local bit avoids both problems. Apart from a handful of prefixes registered in the early days of Ethernet, manufacturers do not ship burned-in addresses with that bit set, so the address is plainly software-assigned. Fixing two of the 48 bits leaves 46 random ones, which gives 70,368,744,177,664 possible addresses.
Some virtualisation platforms use their own registered prefix instead, and a few only accept a manual address inside that range unless you change a setting. VMware uses 00:50:56, VirtualBox 08:00:27, Hyper-V 00:15:5D and Xen 00:16:3E. QEMU and KVM default to 52:54:00 and Docker to 02:42, both of which are themselves locally administered. This tool cannot fix a prefix, so if your platform insists on one, replace the first three bytes of a generated address by hand.
Assigning a generated address to an interface
On Linux and macOS the change lasts until reboot unless you also store it in the system's network configuration. The Windows adapter setting is saved and stays until you clear it.
- Linux: sudo ip link set dev eth0 address 02:AE:CF:0C:98:B3, with the interface brought down first on some drivers.
- macOS: sudo ifconfig en0 ether 02:AE:CF:0C:98:B3.
- Windows: open the adapter's Advanced properties and enter the 12 characters with no separator in Network Address (shown as Locally Administered Address on some drivers).
- Virtual machines and containers: set the address in the VM's network adapter settings or pass it on the command line, for example docker run --mac-address 02:AE:CF:0C:98:B3.
Limits worth knowing before you rely on the list
- Duplicates are not removed. A repeat inside one batch is extremely unlikely but not checked for.
- The maximum per run is 100. For more, generate again and append the lists.
- No vendor prefix, no multicast addresses and no EUI-64 (8-byte) output.
- This random MAC address generator draws on a small seeded routine started from one of a million seeds, which is fine for test data but means the addresses should not be used where unpredictability matters.
- The tool does not check whether an address is already in use on your network.
Step by step
- 1
Enter How many addresses you want, from 1 to 100.
- 2
Choose a Separator: Colon, Hyphen or None for a bare 12-character string.
- 3
Leave Uppercase ticked for A to F in capitals, or untick it for lowercase hex.
- 4
Keep Locally administered (safe, non-vendor) address ticked unless you want a mix of address types.
- 5
Press Generate for a fresh batch, then copy single addresses or download the whole list as mac-addresses.txt.