Skip to content

Random MAC Address Generator

Make a list of up to 100 unicast MAC addresses for virtual machines, containers and test data, in the separator and letter case your system expects.

Runs in your browserFree, no sign-upLast reviewed

Settings

Fill in the settings to see your result here.

Your result appears here instantly — nothing is uploaded.

Quick answers

What is a locally administered MAC address?
It is a MAC address assigned by software or an administrator instead of burned in by a manufacturer. It is identified by the second-least-significant bit of the first byte being 1, which makes the second hex character 2, 6, A or E for a unicast address, as in 02:AE:CF:0C:98:B3.
How do I know if a MAC address is random or from a manufacturer?
Look at the second hex character. If it is 2, 6, A or E the address is locally administered, which is what phones use for private Wi-Fi addresses and what this tool generates by default. If it is 0, 4, 8 or C the first three bytes should be a manufacturer prefix.
How many characters are in a MAC address?
Twelve hexadecimal characters, which is 6 bytes or 48 bits. Written with colons or hyphens between each pair it is 17 characters long, for example FA:4E:7B:D1:82:58. With no separator it is 12, for example fa4e7bd18258.
Can a random MAC address conflict with a real device?
A locally administered one will not match a normal manufacturer-assigned address, because hardware makers are issued prefixes with that bit clear. It can still match another locally administered address on the same network, such as a phone using a private Wi-Fi address, although with about 70 trillion possibilities that is very unlikely.
Is a MAC address with all random bytes valid?
Not always. If the lowest bit of the first byte is 1, the address is a multicast group address and cannot be assigned to an interface. This tool always clears that bit, so the second hex character it produces is never odd.

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 characterTypeProduced by this tool
0, 4, 8, CUnicast, universally administered (manufacturer prefix expected)Only when Locally administered is unticked
2, 6, A, EUnicast, locally administered (assigned by software)Yes, always when the box is ticked
1, 5, 9, DMulticast group address, universally administeredNever
3, 7, B, FMulticast group address, locally administeredNever

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

FormatExampleTypical useSeparator setting
Colon-separated pairsFA:4E:7B:D1:82:58Linux and macOS tools, most routers and firewalls, DHCP reservationsColon
Hyphen-separated pairsFA-4E-7B-D1-82-58Windows tools and the IEEE's own notationHyphen
Bare 12 charactersFA4E7BD18258Windows adapter Network Address setting, databases, some APIsNone
Dotted groups of fourfa4e.7bd1.8258Cisco IOS configuration and show commandsNot 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. 1

    Enter How many addresses you want, from 1 to 100.

  2. 2

    Choose a Separator: Colon, Hyphen or None for a bare 12-character string.

  3. 3

    Leave Uppercase ticked for A to F in capitals, or untick it for lowercase hex.

  4. 4

    Keep Locally administered (safe, non-vendor) address ticked unless you want a mix of address types.

  5. 5

    Press Generate for a fresh batch, then copy single addresses or download the whole list as mac-addresses.txt.

Answers to common questions

Is it legal to change or randomise a MAC address?
Changing the address on equipment you own or administer is ordinary practice, and operating systems do it themselves for Wi-Fi privacy. Using a changed address to get around an access control or a ban on a network you do not control may breach that network's terms or local law. This tool only produces the numbers.
Do these addresses belong to any manufacturer?
With Locally administered ticked, no. With it unticked, an address whose second character is 0, 4, 8 or C has a random first three bytes that may or may not fall inside a registered manufacturer block. The tool does not look prefixes up.
Why do phones show a different MAC address on each Wi-Fi network?
iOS, Android and Windows can present a private, randomised address per network so that the device is harder to track between locations. Those addresses are locally administered, which is why they have 2, 6, A or E as the second character, the same pattern this tool produces.
Does uppercase or lowercase matter in a MAC address?
No. Hex digits A to F mean the same in either case, so FA:4E:7B:D1:82:58 and fa:4e:7b:d1:82:58 are one address. Case only matters when a script or config file compares addresses as plain text, so match whatever the target system prints.
Can I generate a MAC address that starts with a specific prefix?
Not directly. Generate addresses here and overwrite the first three bytes with the prefix you need. If you replace them with a manufacturer prefix, the local-bit guarantee no longer applies, because the prefix decides the type.
Will I get the same addresses again if I press Generate twice?
No. Each press starts from a new random seed, so the list changes every time. Changing only the Separator or Uppercase setting without pressing Generate rewrites the batch already on screen in the new format, which is useful when you need the same addresses in two notations.
What is the difference between a MAC address and an IP address?
A MAC address identifies a network interface on its local network segment and is 48 bits written in hex. An IP address identifies a host for routing between networks and is assigned by the network, usually through DHCP. A device normally has both.

Looking for something else? Browse all generators or see every tool.