UTM lets you run Windows® 10, Windows® 11, Ubuntu®, or macOS(*) fully virtualized with maximum performance. Run Windows® 7, Windows® XP, and other older operating system emulated with decent performance.
UTM uses the popular QEMU system emulator securely in a sandboxed environment to protect your data from viruses and malware in the emulated operating system.
Designed for macOS using the latest and greatest Apple technologies, UTM is built from the ground up with the Mac in mind.
• Run ARM64 operating systems such as Windows® for ARM and Ubuntu® ARM on your Apple Silicon Mac fully virtualized at near native speeds
• Run Intel/AMD operating system such as Windows® 7, Windows® XP, Ubuntu® Linux, and more (emulated with limited performance on Apple Silicon Macs, fully virtualized on Intel Macs)
• Run macOS 12 or higher in a virtualized environment(*)
• Run Intel applications on Linux with Rosetta(**)
• Over 30 processors can be emulated by the QEMU backend including i386, x64, ARM32, ARM64, MIPS, PPC, and RISC-V for developers and enthusiasts
• Supports macOS Sandbox to protect your data from any viruses or malware infecting the emulated operating system (such as Windows®)
• GUI display mode, terminal console mode, and headless mode (with support for multiple displays)
• Attach USB devices to your virtual machine
• Experimental: GPU accelerated OpenGL on Linux VMs
• Bridged and shared networking support
• Run and store VMs from external drives
• Don't know how to use QEMU? Confused at all the options QEMU provides? UTM provides an easy to understand UI for creating and configuring VMs that does not require knowledge of QEMU command line arguments
We are working hard to provide new features. Below are some things currently missing from UTM. We hope to support at least some of these features in the future.
• No direct mounting of external disks and drives, only mounting disk images is supported
• No drag & drop of files and data, only copy paste of text and sharing of a single directory is supported with tools installed
• No GPU acceleration for Windows® and only experimental OpenGL acceleration for Linux (most Windows® games will NOT run)
• macOS virtualization only runs on Apple Silicon Macs running macOS 12 and up. macOS 12 does not support USB sharing, copy/paste, or dynamic resolution.
(*) macOS virtualization is only supported on Apple Silicon Macs running macOS 12 and up.
(**) Linux with Rosetta is only supported on Apple Silicon Macs running macOS 13 and up.
NOTICE: The previous update introduced a bug which broke VM startup. This update addresses that by reverting the QEMU version back to 7.2.0 (from 8.0.2). We apologize for any inconvenience.
Highlights from the previous update:
- Rewrite of QEMU support internals: Much of the code to support QEMU has been refactored into a new project, QEMUKit, which will make it easier to support QEMU changes as well as support for new platforms.
- TPM 2.0 and Secure Boot: This is required for Windows® 11 updates to 22H2. To enable TPM on an existing virtual machine (only x86_64, i386, and ARM64 architectures are supported), open the VM settings, go to the QEMU page and select "UEFI Boot", "TPM 2.0 Device", and "Reset UEFI Variables." Any new VM created through the wizard will have TPM 2.0 and Secure Boot enabled by default if Windows® 10+ support is checked.
On i386 and x86_64 machines, HPET is now disabled by default. This improves performance (slightly) on some guests and also addresses boot issues with OpenIndiana. This change means that suspended VM state from previous versions are not compatible, so please shut down those VMs before updating. If you require HPET to be enabled for any reason, go into the VM's settings and under QEMU → QEMU Machine Properties, add the text hpet=on.
Ratings and Reviews
Pretty good tool for using Windows-specific hardware
I've been really happy with my ARM Mac since I got it, but the one pain point I've had is some hardware I have that only has x64 Windows drivers available. I don't need to use it terribly often (things like JTAG interfaces and IC programmers and such), but when I do, I've had to get out an old Windows laptop since VMWare Fusion and Parallels only support ARM Windows, which doesn't have drivers for my hardware.
It's definitely got some quirks with getting things set up, but now that I've done that, I can actually use my hardware with my M1 Max Macbook Pro. There's a bit of a performance hit from emulating the different CPU architecture, but there's only so much to be done about that, so I can't complain too much about it.
The things I'd really hope to see in future versions (besides compatibility updates for future macOS versions) would be networking that works out of the box with Windows guest OSes and updated SPICE guest tools (since I had to install different versions from the SPICE Project site in order to get file sharing to the guest OS working).
Worked great....till I upgraded
The app had been working swimmingly until this most recent update. I see the changelog alludes to a complete QEMU support internals, but something has gone awry as note of my VMs will launch. Even trying to create brand new linux (Ubuntu) vm just gives a message that "Gues has not initialized the display (yet)." I tried converting my existing Ubuntu VM to be "headless" by removing the display to see if that was it, but I cannot ping or otherwise contact the system; twas a non-GUI server running Arpwatch with SSH enabled so if it was actually booting I should be able to connect. Not sure what this update did, but nothing works ¯\_(ツ)_/¯
Version 4.0 is a 5 star application
Up until version 4 I would have said that UTM was not ready for prime time. But they've fixed a number of nagging issues and the VMs are very stable right now. Running on my M2 Mac I am running Ubuntu on arm and x64, and MacOS as well. All three run very well. And suprisingly x64 is fast enough to be usable. As a replacement for VirtualVBox coming from my old Intel-based Mac it's more than good enough for my needs. The only thing that I really missing from VirtualBox was the port forwarding feature in NAT where I could run my VMs in NAT and then forward ports on localhost into the VM. My workaround is to assign an IP in bridged mode and use that instead. But it's a very small price to pay to have the speed and battery life of the M2 processor. Kudos to you, UTM team!
Data Not Linked to You
The following data may be collected but it is not linked to your identity:
Privacy practices may vary, for example, based on the features you use or your age. Learn More
- Turing Software, LLC
- 242.7 MB
- Requires macOS 11.3 or later.
English, Finnish, French, German, Japanese, Korean, Polish, Simplified Chinese, Spanish, Traditional Chinese
- Age Rating
- © 2023 Turing Software, LLC
Up to six family members can use this app with Family Sharing enabled.