CruxDevCruxDev Tools Prompts
network Utility • Zero-Server Privacy • 100% Client-Side

MAC Address Generator

Generate random MAC addresses with configurable separators (colon, hyphen, dot) and unicast/multicast/universal/local bits.

Overview

Generates random MAC addresses in uppercase, formatted with colons, hyphens or Cisco-style dots, in batches up to 100. The first byte is masked so every address is a valid unicast, locally administered address rather than raw random bytes that could be multicast or collide with real vendor ranges.

How It Works

Choose a separator - Colon, Hyphen or Dot - set the count between 1 and 100, and press Generate. The addresses appear one per line in a click-to-copy box, and a fresh set is drawn on load. Each run produces entirely new random addresses; nothing is stored or sent anywhere.

Step-by-Step Usage Guide

  1. Pick the separator format your target system expects: colons for most Linux tooling, hyphens for Windows, dots for Cisco configurations.
  2. Set the count - up to 100 addresses per batch - and press Generate.
  3. Click the output box to copy the whole list, one address per line.
  4. Re-roll as needed; each press draws a completely fresh random batch.

Technical Specifications & Standards

A raw random 48-bit value is not a well-formed MAC: two bits of the first octet have protocol meaning. The least significant bit is the Individual/Group (I/G) bit - set means multicast - and the second-least-significant bit is the Universal/Local (U/L) bit - set means locally administered rather than IEEE-assigned. This tool applies a mask to every generated first byte: clearing the low bit guarantees unicast, setting the next bit marks the address as locally administered. That combination is exactly what virtualization platforms and privacy features produce when they invent an address, and it avoids colliding with real vendor OUIs or generating multicast addresses that switches and Wi-Fi drivers may reject. The dot format groups the six bytes as three two-byte blocks (A1B2.C3D4.E5F6), the Cisco IOS convention, while colon and hyphen use the six single-byte groups familiar from ifconfig and ipconfig. Randomness comes from crypto.getRandomValues, not a Math.random shortcut, so the addresses are uniformly distributed across the locally administered unicast space rather than clustered.

Targeted Use Cases

  • Populating test fixtures for network device inventories, DHCP configurations or VM provisioning scripts.
  • Generating locally administered addresses for virtual machines or containers where you control the assignment.
  • Testing input validation that must accept colon, hyphen and Cisco-dot MAC formats.
  • Creating uniform random samples for teaching the I/G and U/L bits of the first octet.

Notes & Gotchas

  • Use these for testing and for networks you administer; changing your MAC on a network you do not own is governed by someone else's rules, often legal ones.
  • Prefer locally administered addresses - which these all are - when inventing addresses for virtual interfaces, so you never impersonate a real vendor's OUI.
  • Match the separator format to the consuming system; parsers are frequently stricter than documentation suggests.
  • Do not reuse one generated address across many VMs; MAC duplication on the same L2 segment causes genuinely confusing failures.

Frequently Asked Questions

Are the generated addresses safe to use on a real network?

They are well-formed locally administered unicast addresses, which is exactly the class used for virtual interfaces. On networks you control, yes. On networks you do not, MAC usage is governed by the network owner's policy.

Why do the addresses have a fixed bit pattern in the first byte?

The first octet is masked to clear the multicast bit and set the locally administered bit. That guarantees unicast, locally administered addresses and places them outside every IEEE-assigned vendor range.

Which format is the dot option for?

Cisco IOS writes MAC addresses as three dotted two-byte groups, like a1b2.c3d4.e5f6. The tool emits uppercase in all formats; if your target needs lowercase, transform after pasting.

Is the randomness cryptographically strong?

Yes - the bytes come from crypto.getRandomValues, the browser's CSPRNG. For MAC addresses that is far stronger than needed, but it costs nothing and avoids Math.random's weaker distribution guarantees.