MAC Address Generator

Generate random or vendor-specific MAC addresses for testing and virtualization.

About This Tool

The MAC Address Generator creates random IEEE 802 Media Access Control (MAC) addresses for testing, virtualization, and network simulation purposes. MAC addresses are unique 48-bit hardware identifiers assigned to network interface cards (NICs). This tool generates valid MAC addresses in multiple formats, supports vendor OUI prefixes, and allows control over unicast/multicast and universal/local administration bits. Whether you're setting up virtual machines, testing network software, or creating test datasets, this generator produces properly formatted MAC addresses compliant with IEEE standards.

How to Use

  1. Select output format: Colon (aa:bb:cc:dd:ee:ff), Hyphen, Dot (Cisco), or no separator
  2. Check "Unicast only" to ensure bit 0 of first octet is 0 (standard NICs)
  3. Check "Locally administered" to set bit 1 of first octet to 1 (non-vendor addresses)
  4. Set count (1-100) to generate multiple MAC addresses at once
  5. Optionally enter vendor OUI (first 3 octets) like "00:1A:2B" to generate vendor-specific addresses
  6. Click "Generate" to create random MAC addresses
  7. Use "Copy" to copy individual addresses or "Copy All" for batch copying
  8. Generated addresses are ready for use in VM configs, testing tools, or documentation

Features

  • Generate 1-100 MAC addresses at once
  • Multiple output formats: colon, hyphen, dot (Cisco), no separator
  • Vendor OUI support for generating addresses from specific manufacturers
  • Unicast/multicast bit control
  • Locally administered / universally administered bit control
  • IEEE 802 standard compliant
  • One-click copy for individual or all addresses
  • Real-time generation with proper bit masking
  • Validation of provided OUI prefixes
  • Suitable for VM configuration and testing

Common Use Cases

  • Configuring virtual machines with unique MAC addresses
  • Testing network management software
  • Creating test datasets for network monitoring tools
  • Simulating multiple devices in network labs
  • Generating MAC addresses for Docker containers
  • Testing MAC address filtering and ACLs
  • Creating synthetic network traffic logs
  • Educational demonstrations of MAC address structure
  • Avoiding MAC address conflicts in virtualized environments
  • Generating addresses for network protocol testing

Technical Details

MAC addresses are 48-bit identifiers assigned to network interfaces, typically represented as 6 octets (bytes) in hexadecimal. Understanding their structure is crucial for proper network configuration.

MAC Address Structure:

  • Total length: 48 bits (6 bytes, 12 hex digits)
  • First 24 bits (3 bytes): OUI (Organizationally Unique Identifier) - vendor/manufacturer
  • Last 24 bits (3 bytes): NIC-specific identifier assigned by manufacturer
  • Format examples:
    • IEEE standard: 01:23:45:67:89:AB (colon-separated)
    • Windows: 01-23-45-67-89-AB (hyphen-separated)
    • Cisco: 0123.4567.89AB (dot-separated pairs)
    • Raw: 0123456789AB (no separators)

First Octet Bits (Control Bits):

  • Bit 0 (LSB of first octet): Unicast/Multicast (I/G bit)
    • 0 = Unicast (individual device) - most common
    • 1 = Multicast (group of devices)
    • Example: 02:xx:xx:xx:xx:xx is unicast, 03:xx:xx:xx:xx:xx is multicast
  • Bit 1 (second LSB): Universal/Local (U/L bit)
    • 0 = Universally administered (assigned by manufacturer)
    • 1 = Locally administered (set by network admin)
    • Example: 00:xx:xx:xx:xx:xx is universal, 02:xx:xx:xx:xx:xx is local

OUI (Organizationally Unique Identifier):

  • First 24 bits (3 octets) assigned by IEEE to manufacturers
  • Example OUIs:
    • 00:1A:2B - Cisco Systems
    • 00:50:56 - VMware
    • 08:00:27 - VirtualBox
    • 52:54:00 - QEMU/KVM
    • 00:15:5D - Microsoft Hyper-V
  • Manufacturers must purchase OUI assignments from IEEE

Special MAC Addresses:

  • Broadcast: FF:FF:FF:FF:FF:FF (all devices on local network)
  • IPv4 multicast: 01:00:5E:xx:xx:xx (IANA range)
  • IPv6 multicast: 33:33:xx:xx:xx:xx
  • Cisco Discovery Protocol: 01:00:0C:CC:CC:CC
  • Spanning Tree: 01:80:C2:00:00:00

Unicast vs Multicast:

  • Unicast: Packet sent to single network interface
    • First octet is even (02, 04, 06, etc.)
    • Used for standard device-to-device communication
  • Multicast: Packet sent to group of devices
    • First octet is odd (01, 03, 05, etc.)
    • Used for protocols like IGMP, mDNS, VRRP

Locally Administered Addresses:

  • Used when you don't have a manufacturer-assigned OUI
  • Common in virtual environments (VMs, containers)
  • First octet examples: 02, 06, 0A, 0E (bit 1 set, bit 0 clear)
  • Safe to use for testing without conflicting with real hardware

Virtual Machine MAC Addresses:

  • VMware: Typically starts with 00:50:56 or 00:0C:29
  • VirtualBox: 08:00:27:xx:xx:xx
  • QEMU/KVM: 52:54:00:xx:xx:xx
  • Hyper-V: 00:15:5D:xx:xx:xx
  • Last 3 octets usually randomized per VM

MAC Address Collision:

  • Occurs when two devices on same network have identical MAC addresses
  • Can cause intermittent connectivity issues
  • Common in cloned VMs or improperly configured containers
  • Prevention: Always generate unique MACs for each VM/interface

IEEE Standards:

  • IEEE 802: Family of LAN/MAN standards
  • EUI-48: Extended Unique Identifier (48-bit), modern term for MAC-48
  • EUI-64: 64-bit version used in IPv6 SLAAC and Fibre Channel
  • IEEE Registration Authority: Manages OUI assignments

Best Practices:

  • Always use unicast addresses for standard network interfaces
  • Use locally administered bit when generating test addresses
  • Avoid broadcast and well-known multicast addresses
  • Keep records of generated MACs for VM management
  • Use vendor OUI when simulating specific hardware
  • Ensure uniqueness within your network environment

Common Errors to Avoid:

  • Using multicast addresses (odd first octet) for NICs
  • Reusing MACs across multiple VMs (causes conflicts)
  • Using broadcast MAC (FF:FF:FF:FF:FF:FF) as interface address
  • Forgetting to set locally administered bit for non-vendor MACs