What is a MAC Address?
A MAC (Media Access Control) address is a unique 12-digit hexadecimal identifier hardcoded into the network interface controller (NIC) of every device that connects to a network. It looks something like a4:83:e7:29:f1:c0.
Every device with WiFi, Ethernet, or Bluetooth capability has at least one MAC address. If your MacBook has both WiFi and Ethernet, each interface has its own unique address. Your router uses these addresses to identify and route traffic to individual devices on the local network.
The first three bytes of a MAC address identify the manufacturer (called the OUI — Organizationally Unique Identifier). The remaining three bytes are unique to the specific device. This means anyone on the same network can determine what brand of device you're using just by reading your MAC address. Spoofing it is one privacy layer; you should also remove your personal info from people-search sites.
Why Should You Spoof Your MAC Address?
There are several legitimate reasons to change your MAC address on macOS:
- Privacy on public WiFi: Networks at hotels, airports, and coffee shops log your MAC address. Spoofing prevents tracking across visits.
- Prevent cross-network tracking: Without spoofing, your device broadcasts the same identifier everywhere, allowing your movements to be correlated.
- Bypass network restrictions: Some networks use MAC-based access controls or time limits that can be circumvented with a new address.
- Penetration testing: During authorized security assessments, impersonating another device's MAC address may be necessary.
- Bypass device limits: Some public networks limit the number of devices per user based on MAC addresses.
Who Can See Your MAC Address?
Your MAC address is only visible on the local network — it does not travel across the internet like your IP address does. Specifically, it can be seen by:
- Your router and any routers within wireless range
- Other devices on the same WiFi network
- Anyone running a wireless packet sniffer (like Wireshark) within range
- Network administrators who can review connection logs
macOS Private Wi-Fi Address (Built-In, No Terminal Required)
Starting with macOS Sonoma (14) and expanded in macOS Sequoia (15), Apple built MAC address randomization directly into the operating system. This is the easiest way to protect your privacy — no Terminal commands needed.
macOS Sequoia offers three modes for Private Wi-Fi Address, configurable per network:
| Mode | Behavior | Best For |
|---|---|---|
| Off | Uses your real hardware MAC address | Home networks with MAC filtering |
| Fixed | Uses a consistent private MAC per network (different for each SSID) | Work/school networks that need a stable MAC |
| Rotating | Periodically changes the private MAC, even on the same network | Maximum privacy on public WiFi |
How to configure it:
- Open System Settings (Apple menu → System Settings)
- Click Wi-Fi in the sidebar
- Click the Details button (or "i" icon) next to your connected network
- Find Private Wi-Fi Address
- Choose Off, Fixed, or Rotating
How To Find Your Current MAC Address
There are two ways to find your MAC address on macOS:
Method 1: Terminal

Using ifconfig to display your current MAC address
Method 2: System Settings
Go to System Settings → Wi-Fi → Details (next to your connected network). Your MAC address is displayed at the bottom of the details panel. On older macOS versions: System Preferences → Network → Advanced → Hardware.

Viewing the MAC address in System Preferences (older macOS)
en0 is WiFi. On Mac desktops or when using USB Ethernet, the Ethernet interface may be en0 and WiFi may be en1. Use networksetup -listallhardwareports to see which is which on your system.
How To Spoof Your MAC Address via Terminal
If the built-in Private Wi-Fi Address feature doesn't suit your needs — for example, you want to set a specific MAC address — you can use Terminal.
ifconfig: ioctl (SIOCAIFADDR): Can't assign requested address if WiFi is off. The workaround is to turn WiFi off and back on, then run the command immediately before it connects to an access point. See the command sequence below.
For macOS Sequoia (15.x)
For macOS Sonoma (14.x) and earlier

Spoofing a MAC address on macOS using ifconfig
00:03:93:xx:xx:xx — Apple08:00:46:xx:xx:xx — SonyFC:F8:AE:xx:xx:xx — IntelFC:C7:34:xx:xx:xx — Samsung
Using SpoofMAC (Homebrew)
For a more convenient approach, SpoofMAC is an open-source tool you can install via Homebrew that simplifies the process:
SpoofMAC can also be configured to run at startup using a launchd plist, so your MAC is randomized every time you boot. See the SpoofMAC documentation for setup instructions.
Bash Script to Automate MAC Spoofing
If you prefer not to install additional tools, here's an updated bash script that works on macOS Sequoia and earlier versions:
Troubleshooting Connection Issues
If your WiFi doesn't reconnect after changing the MAC address, try these steps:
- Toggle WiFi off and on from the menu bar
- If that doesn't work, restart the interface via Terminal:

Restarting the network interface to fix connection issues
To revert to your original MAC address, restart your Mac. macOS does not persist spoofed MAC addresses between reboots.
Frequently Asked Questions
Does macOS already randomize my MAC address automatically?
Starting with macOS Sequoia, yes. The Private Wi-Fi Address feature uses a unique address per network by default. On Sequoia you can choose between Off, Fixed (same private MAC per SSID), and Rotating (periodically changes even on the same network). On Sonoma and earlier, it's a simple on/off toggle.
Why do I get "Can't assign requested address" on Sequoia?
macOS Sequoia requires the WiFi interface to be on but not connected when you change the MAC. The solution is to power-cycle WiFi with networksetup -setairportpower en0 off then on, and immediately run the ifconfig command before it auto-connects to a known network.
Can I spoof my Ethernet MAC address on macOS?
Ethernet MAC spoofing is more restricted on recent macOS versions. The ifconfig method may not work for Ethernet adapters on Sequoia. WiFi spoofing is more reliably supported. For Ethernet, consider the built-in Private Wi-Fi Address if available for your adapter, or use a Linux VM.
Will the spoofed MAC persist after a reboot?
No. macOS resets to the original hardware MAC address on every restart. If you need it to persist, set up SpoofMAC with a launchd plist to run at boot, or use the built-in Private Wi-Fi Address feature which persists automatically.
Can I change the MAC address on macOS without Terminal?
Yes — macOS Sequoia's Private Wi-Fi Address feature lets you use a different MAC for each network entirely through System Settings, no Terminal needed. For older macOS versions, third-party GUI tools like Mac MACSpoof or WiFi Spoof are available, though most are paid.
What's the difference between this and changing a MAC address on Kali Linux?
On Kali Linux with macchanger, you have more control — including random vendor selection and vendor database lookup. macOS is more restrictive and validates MAC formats more strictly. The underlying concept is the same, but the tools and commands differ.
