UTM
UTM is an open-source virtual machine host and system emulator for macOS and iOS, built on QEMU, for running Windows, Linux and more.
- GitHub stars
- 36k
- Last commit
- 8 days ago
- Latest release
- v4.7.5
- Licence
- Apache-2.0

UTM emulates whole systems and hosts virtual machines on iOS and macOS, with a broad feature set. It is based on QEMU and lets you run Windows, Linux and other operating systems on a Mac, iPhone or iPad, with virtual machines created, managed and run directly from the device. The interface is written in Swift, and the project is released under the Apache-2.0 license.
Through QEMU, UTM supports more than thirty processor types, including x86-64, ARM64 and RISC-V, with VGA graphics through SPICE and QXL, a text terminal mode and USB devices. On macOS it adds hardware-accelerated virtualization using Hypervisor.framework and can run macOS guests through Virtualization.framework on macOS 12 and later. On iOS, full speed needs JIT, which requires a jailbreak or workarounds, so the project also offers UTM SE, a slower edition that uses a threaded interpreter and installs like a normal app.
Key features
- Full system emulation based on QEMU
- x86-64, ARM64, RISC-V and many more CPUs
- Hardware-accelerated virtualization on macOS
- macOS guests via Virtualization.framework
- UTM SE edition without JIT or jailbreak
- SPICE graphics, text terminal and USB support
Pricing: Source code is free and open source under the Apache-2.0 license.
