You’ve switched from a Windows machine to a Mac and you’re probably delighted about the change—that is until you discover that there’s no macOS version of your favorite Windows app or game. All is not lost, however. You’ve got several different choices for running Windows applications on your Apple system.
Your options fall into two broad categories: One is to set up a complete virtual Windows system and run Windows programs within that environment. The other is to use special software that runs some, but not all, Windows apps in an emulation layer on top of macOS. The Windows virtualization option is pricey (if you want the best performance), consumes disk space and system resources when running, and—if you have a Mac running Apple Silicon—only works with the prerelease ARM version of Windows. The emulation layer option, if it works with the Windows app you want to run, is fast, light on system resources, and free. No extra points for guessing that I prefer the emulation option.
If you want to run complex software such as the Windows version of Excel or any high-end game, then you need to set up a virtual Windows system, sometimes known as a virtual machine (VM for short). You can run this virtual system (which uses a complete version of Windows) entirely inside a macOS app. The VM behaves as if it’s running on real hardware with a real hard drive; it just runs a bit slower than a Windows system running on physical hardware. The reason for the slower performance is that this method requires you to run an entire Windows system in the background in addition to the app you want to use.
Some Windows apps and PC games simply won’t run on a Mac unless you install them within a full Windows system, so the other methods I describe later may not even be an option. Microsoft Expression Web, my favorite WYSIWYG web-page editor for quick-and-dirty HTML editing, is one example.
One other note: You must factor in the costs of purchasing a Windows license, virtualization software, and any software subscriptions for this method. The combination of those three expenses means you will likely end up paying several hundred dollars.
Parallels Desktop and VMware Fusion
If you have an Intel-based Mac, your best choices for installing a virtual Windows machine are Parallels Desktop ($79.99 for Standard Edition) and VMware Fusion ($199 for VMware Fusion 12 Pro). On an Apple Silicon-based Mac (such as those with an M1 chip), Parallels Desktop is your top option. Parallels is more approachable for beginners and faster. VMware Fusion is friendly enough for any experienced Windows or Mac user, but it’s more suitable for corporate use. As mentioned, whichever software you choose, you’ll still need to purchase a Windows license (Windows 10 Home currently costs $139 to download) and enter it when Parallels Desktop or VMware Fusion prompt you.
For corporate users who need high reliability and tech support, Parallels Desktop and VMware Fusion are the only answers. Both let you run Windows apps in a mode that hides the Windows desktop so that your Windows app appears as an ordinary Mac app too. It’s a neat feature, but you’ll likely find that your Windows app is a lot more sluggish than the Mac apps running on the same desktop. For running individual apps, I prefer the Wine-based methods that I describe later; they are free and can offer better app performance. Because I (like many people) have to be my own IT manager for those apps, however, just know that the only way to get support for these methods is to ask questions in web forums and hope for a helpful answer.
Both Parallels and VMware Fusion let you create a virtual system by cloning an existing desktop system across a network, but it’s a lot simpler to install a fresh copy of Windows. Users of Intel-based Macs can download the standard Windows ISO file from Microsoft and rely on Parallels or Fusion to install Windows correctly from there. M1 Mac users must register for the Windows Insider Preview program and download the ARM version of Windows 10. Only Parallels supports the ARM version, but it has no trouble configuring your Windows VM with that version on an Apple Silicon Mac. Parallels recently announced support for Windows 11 on M1 Macs, but again, for the ARM version only.
Regardless of whether you choose Parallels or VMWare, set aside about 20 minutes to install Windows and 30GB or more of disk space on your system. You don’t need to partition your disk, because what your virtual Windows system treats as a disk is simply a file on your Mac hard drive; both apps let you expand or reduce the size of the virtual Windows disk whenever you want.
Once you get Windows installed in a virtual system, then you can install your Windows apps exactly as you would with an actual Windows PC. Either download the installer from a browser running in the Windows system or drag an installer or folder into the Windows system’s virtual disk from a USB drive, e-mail, or wherever else you keep installers on your Mac.
VirtualBox, Boot Camp, and Windows 365
Oracle’s free VirtualBox is another option for running a virtual Windows system, but you’ll need patience and expertise to get it working; stay away from this method if the prospect of partitioning your hard drive or system RAM sounds daunting. Apps won’t run as quickly or as smoothly as they do with commercial solutions, and you still need to purchase a Windows license to use with VirtualBox.
What about Boot Camp, Apple’s long-standing option for running a Windows system on a separate partition on an Intel-based Mac? Boot Camp still exists, but Apple has effectively stopped supporting it. And Boot Camp has a major inconvenience; you have to shut down your macOS system and restart it every time you want to run Windows. There’s no integration between macOS and your Windows partition, either. Boot Camp won’t let you run a Mac app and a Windows app at the same time or transfer files between systems quickly, for example. If you have an Apple Silicon Mac, don’t even think about Boot Camp. You can’t install it in any form on a machine with an Apple Silicon chip because Boot Camp only supports Intel-compatible versions of Windows (not the ARM versions that can run on Apple Silicon-based devices via Parallels).
You may remember that Microsoft recently announced a business-centric service called Windows 365 that lets end-users access a full, cloud-based version of Windows on nearly any platform. That platform is not intended for consumers, however, and its future is unclear after Microsoft suspended the free trials due to high demand.
The Best Virtualization Software We Tested
Parallels Desktop Review
VMware Fusion Review
Oracle VM VirtualBox (for Mac) Review
If you only want to run a few Windows apps and none of them require a full emulated system, you can use alternate methods based on the open-source Wine emulation layer. Wine is the long-established project that makes it possible to run Windows apps on macOS and Linux systems without fully installing Windows. The name Wine stands for “Wine Is Not an Emulator,” which is technically correct, but, if like me, you want to think of Wine as an emulator, no one will stop you.
The two Wine-based methods worth exploring are CodeWeaver’s CrossOver and Wineskin Winery. You can also set up a Wine layer manually, but it’s not worth the effort when CrossOver and Wineskin Winery already exist.
As mentioned, Wine works with only a limited number of Windows apps and can’t run complex or advanced ones. That means it won’t work with any recent apps from Microsoft, Adobe, Corel, or any other major vendor. You can install Steam via Wine, but don’t expect to run any recent games. For those games and apps that do run, you should expect faster performance than when running them from within a virtual Windows system.
CodeWeaver’s CrossOver costs $59.95 with free upgrades for a year; its setup is effortless and automated. With CrossOver, you can search a built-in database for the app you want to run or browse through a list of compatible apps. After you select an app, CrossOver either downloads it or provides a download link. You then follow a few prompts and CrossOver creates a bottle (prepare for a lot of wine-related terminology) that runs your app.
When CrossOver works, it works beautifully. For example, I installed the Windows text editor Notepad++ with a few clicks and opened it instantly. When CrossOver doesn’t work, however, you’re in for major frustration because its menus are cluttered with obsolete information—you can’t actually use the menus to install many of the apps it lists. For instance, I tried to install Axialis IconWorkshop, the best Mac icon editor that I’ve found (which also happens to be Windows-based), from CrossOver’s menus. No matter what I tried, the Install button remained grayed out. Eventually, I was able to install the app manually, but doing so wasn’t easy and I don’t recommend you try that process.
Another disadvantage of CrossOver is that for its bottles to run, the CrossOver app must be installed. In other words, you can’t simply copy a bottle for one app to another machine; you have to install CrossOver on the second computer, too. On an encouraging note, CrossOver has seen early success at running Windows 11 apps.
If you’re willing to do some of the work yourself, you can use Wineskin Winery to create standalone containers that run Windows apps and function like any other macOS app. You can even copy one of these self-contained apps to another Mac and run it there without any extra steps. Wineskin Winery, created by a programmer who used the screen name doh123 and now maintained by a programmer with the screen name Gcenx, is a work in progress and not well-documented. Nonetheless, below is a step-by-step guide to get a Windows app running with Wineskin Winery.
In this example, I’ll install the app I mentioned earlier, Axialis IconWorkshop. I’ve been using the app on a Windows machine to create icons for my Mac system, but Wineskin Winery enables me to use it directly on a Mac. The same basic method for creating the self-contained Axialis IconWorkshop app applies to any Windows app you want to run.
First, download Wineskin Winery from Gcenx’s GitHub page. Scroll down to the “Manually installation” section (it’s ungrammatical, but it works) and click the Download link. Depending on your macOS settings, your computer may automatically extract the Wineskin Winery app. Otherwise, you need to open the download to extract it. Move the extracted app to your Applications folder or any other convenient location.
Recommended by Our Editors
Next, right-click the Wineskin Winery app and choose Open. Your Mac will tell you to move the app to the trash; ignore the message and press Escape. Right-click the app and choose Open one more time to launch it.
Once the app launches, click the Update button to download the latest version of the Wineskin Wrapper; this is the software responsible for actually launching your programs. Next to the New Engines Available menu item, click the plus sign. An engine with a complex name (WS11WineCX64Bit20.0.2 at the time of testing) will appear. Click the Download and Install option. The list of available engines may be different depending on when you read this guide; find the highest-numbered one with the CX64Bit string in its name and download it.
The next step is to make sure that one of the engines in the list at the top of the app’s window is highlighted. Then, click Create New Blank Wrapper and enter a name for your app. For my example, I used Axialis IconWorkshop. Click OK and, eventually, a dialog appears; click the View Wrapper in Finder button to see your newly created wrapper. If you encounter a message that says your app is damaged and should be moved to the trash, just ignore it. To prevent macOS from showing that warning again, enter the string “xattr -rc ” into the Mac terminal (don’t forget the space at the end of that code!), drag your wrapper from the Finder into the terminal, and then press Enter. With that issue out of the way, you can close the Wineskin Winery app.
Don’t try to open the newly created app yet—you’ll get an error message. Instead, right-click it and select Show Package Contents. In the Finder window that opens, double-click the Wineskin app (this is the only part of the system that’s simply called Wineskin). Choose Install Software, then Setup Executable, and navigate to the installer for your software. I had already downloaded the Axialis installer for my example, so I chose that from my Mac’s Downloads folder.
After a few seconds (and a few permissions dialogs from macOS), the Axialis app’s Windows installer dialogs appeared. I clicked through a few prompts to install the app and let the installer run its course. At the end of the process, the installer launched the IconWorkshop app. I then exited the app from its File menu, just as I would have done on a real Windows system. At this point in the process, both the IconWorkshop Windows app and its installer (in other words, everything I needed to run IconWorkshop) are stored inside the macOS-compatible Wineskin app, in a drive_c folder.
Next, Wineskin showed a Choose Executable menu that defaulted to the Axialis uninstaller. I selected the correct executable via a drop-down list with the arrow keys, clicked OK, and then quit Wineskin Winery. Now, the Axialis IconWorkshop app I created was ready to launch. As with any other Mac app, I could drag it to the Dock, my Mac’s Application’s folder, the desktop, or anywhere else.
Depending on the app or game container you build, you may need to customize it so that it can access folders on your Mac system. To begin, right-click on the Wineskin-based app that you just created (in my example, the Mac app called Axialis IconWorkshop) and choose Show Package Contents (this option is available only for macOS apps or packages; it won’t be available if you try to right-click on the Windows app within the drive_c folder.) The resultant Finder window shows several items inside the package, including the aforementioned Wineskin app and drive_c folder.
Launch the Wineskin app again by double-clicking it, click the Advanced button, and then go to Tools. Select the Config utility from the Tools tab; you can use this to, for example, assign the emulated D: drive to list the files in your Mac’s Desktop or Documents folder when you use the Windows-style File or Open dialogs within the Wineskin app. Keep in mind that each Wineskin app you create has its own internal folder structure with a drive_c folder. You have to create a separate Wineskin app for every Windows app you want to run.
The Tools tab in your Wineskin app also has a button that launches an app called Winetricks; it lets you install fonts your app may need or change the emulated Windows version. In the Wineskin app’s Configuration tab, you can replace the default Wineskin app icon with any icon you choose. Expert Windows users can use the Regedit button to modify the Wine version of the Windows registry so that a Wine-based app will open files dropped on it. A few minutes with Regedit were enough to modify my Axialis app so that it automatically opened any Mac icon I dropped on it. You can find instructions for modifying the Registry on the web, for example, method 4 on this page.
Inconvenient, But Not Impossible
If you want to run a Windows app on your Mac, don’t expect the setup process to necessarily be cheap or easy. Once you’ve got your app running, however, it should work smoothly and reliably. If, on the other hand, you want to run a Mac app on your Windows machine, you’ll find it almost impossible or otherwise not worth the effort. That’s one of the advantages of macOS; it can run almost any app you want with some work.
Sign up for our Weekly Apple Brief for the latest news, reviews, tips, and more delivered right to your inbox.
Your subscription has been confirmed. Keep an eye on your inbox!