Macshift: Change your MAC address

The definitive free command-line MAC changing utility for Windows XP

By Nathan True (
NEW Macshift v1.1 random MACs now only contain valid Vendor Ids (first 3 bytes of MAC).

Download Macshift right now! (or read on, no pressure!)

Macshift is Free Software, but if you feel guilty taking my program without paying, you can make a donation.

About Macshift

While looking for a free, scriptable MAC address utility for Windows XP, all I could find were the a-Mac address changer and SMAC, both GUI programs, and both not free. Both very much not what I was looking for.

So, armed with my severe disappointment, I set out to create a utility that would meet my stringent MAC address-changing needs. Specifically, I wanted to be able to make a set of shortcuts in a toolbar, where each one would give me a different MAC address quickly and instantly.

Then I set to work, scrolling and clicking through page after page of insufficient documentation and obscure header files, finding the proper method to change a MAC address, and lo and behold... I figured it out.

But that really doesn't matter.

What matters now is that you can download this sweet little utility from my website and use it, free of charge. The source code is included (only a 200-line file), so feel free to grab it and make modifications, redistribute, etc. I release the source code to you under the terms of the GNU General Public License (GPL). I also ask that if you make any really super-great modifications to it, that you let me know so that I can put your variation on this page too.

Using Macshift

Usage: macshift [options] [mac-address]


-i [adapter-name]The adapter name from Network Connections.
-rUses a random MAC address. This is the default.
-dRestores the original MAC address.
--helpShows this screen.
To use Macshift, first download the .zip file and extract its contents to a convenient place, for example c:\macshift. If you don't care about the source code, feel free to delete the .cpp file, or just leave it there, or print it out and use it to train your recalcitrant puppy (for more puppy training tips please look elsewhere). Remember where you extracted it, because it is quite important.

Now you must make sure you know the name of the connection you want to change. For example, the default name for a wireless network adapter is "Wireless Network Connection". You can change this in the Network Connections control panel item, by clicking the network connection, and pressing F2, or right-clicking it and pressing Rename, or clicking it and clicking it again, slower than you would double-click it. You can also click it, then go to the File menu and choose Rename. I think that's all the ways you can rename it, but if you come up with another, please e-mail me so I can add it here.

If you want to set up a few quick-MAC-change shortcuts, here's what you have to do:

  1. Open the folder you extracted macshift to in an Explorer window. You may do this any of the following ways:
    • Start -> Run -> Type c:\macshift (or wherever you put it) -> Press Enter.
    • Pressing Windows Key + E and navigating using your mouse to the appropriate folder.
    • Double-clicking My Computer on your desktop, and using aforementioned mouse to navigate to the folder.
    • Right-clicking your Start button, clicking Explore or Open, and finding the folder from there.
    • Pressing Start -> Find -> Files or Folders and searching for macshift.exe, then right-clicking that entry and clicking Open Containing Folder.
    • Pressing Windows Key + F and searching for macshift.exe as above.
    Stay tuned for more fun and exciting ways to open a folder view.
  2. Create a shortcut to macshift.exe by choosing one of these methods:
    • Select macshift.exe and press Control-S.
    • Select macshift.exe and Choose New -> Shortcut from the File menu.
    • Right-click-drag macshift.exe into the whitespace in the folder window (or anywhere else) and select Create Shortcut from the ensuing menu.
    • Left-click-drag the macshift.exe into any folder-like window while holding the Control and Shift keys.
  3. Modify the shortcut by right-clicking it and selecting Properties, or by selecting it and pressing Alt+Enter.
  4. In the Target: box, add necessary command-line parameters to the box. For example, if you wanted to change your adapter named "Wireless" to the MAC 001122334455 (creative, I know, shut up) using macshift.exe located in c:\macshift, the Target box would read:
    c:\macshift\macshift.exe -i "Wireless" 001122334455
    Don't be alarmed by quote marks around the path/macshift.exe part, just put the parameters outside them as follows (random MAC for adapter "Ethernet"):
    "c:\Documents and Settings\User\Desktop\macshift.exe" -r -i "Ethernet"
    Feel free to try your own combinations using either this method or the interactive command-line as stated in the next step.

If you'd like to try out a few macshift commands, all you need to do is open a console. You can do this by:

Once you've gotten to a command prompt, navigate to the directory you unzipped using the cd command. Type something like cd c:\macshift and press Enter. Your prompt should change to reflect this.

You can now invoke macshift however you like. Here are some samples to try:

Closing remarks

Here's the download link again. Enjoy!
See other crap I do at!
Copyright © by Nathan True. All rights reserved.