Test Linux server configurations and deployments on your Mac without a separate machine.
Run Windows-only software and applications on macOS or iPad.
Learn and experiment with different operating systems without purchasing additional hardware.
Set up isolated development environments for testing code across multiple OS platforms.
Requires building from source with Swift/Xcode, QEMU integration, and macOS-specific hypervisor frameworks; non-trivial compilation and OS image setup.
UTM is a virtual machine and system emulator application for iPhones, iPads, and Macs that lets you run operating systems like Windows, Linux, and others directly on Apple hardware. Think of it as a way to have a full second computer running inside your existing device, you can run a Windows desktop on your Mac, or a Linux server on your iPad, without any separate physical machine. UTM is built on top of QEMU, a well-established open-source emulator that has been around for decades. QEMU handles the low-level simulation of hardware, it emulates CPUs, memory management, graphics cards, USB devices, and other components, while UTM provides a polished native user interface designed for macOS and iOS that makes creating, configuring, and running virtual machines as approachable as managing files. On Mac, UTM can take advantage of Apple's hardware virtualization frameworks (Hypervisor.framework and Virtualization.framework on macOS 12+), which allows it to run virtual machines at near-native speed rather than having to simulate every instruction in software. On iPhone and iPad, running a full emulator is more constrained because iOS normally prohibits apps from generating code at runtime (a technique called JIT compilation that is critical for emulator performance). UTM works around this through various methods depending on your iOS version, or via UTM SE, a slower but restriction-free variant that works on any device without jailbreaking. Over 30 CPU architectures are supported including x86_64 (standard PC), ARM64, and RISC-V. You would use UTM when you need to run software that requires a different operating system, testing Linux server configurations on your Mac, running Windows-only applications, or experimenting with operating systems without buying extra hardware. The app is written in Swift with an Objective-C backend and is free and open-source.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.