Virtual machines for iOS and macOS
Alternatives To Utm
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
a day ago532apache-2.0Swift
Virtual machines for iOS and macOS
Vagrant Box Osx981
2 years ago7mit
Issue tracker for macOS Sierra Vagrant box.
3 years ago10otherPython
The Magpie programming language
15 years ago20October 22, 20184mitSwift
The Cub Programming Language
5 years ago3October 09, 201710mitSwift
The Lioness Programming Language
10 years ago3mitC
A free and open source game engine using mruby and C/C++
Xnu Make41
7 years ago1otherShell
Easily build, install and deploy the XNU kernel
5 years ago15otherSwift
Menu bar macOS app for running rkt in a macOS hypervisor CoreOS VM.
7 years agoApacheConf
VM for develop
Bitrise Screenshot Automation6
3 years agomitSwift
Sample code from Bitrise virtual BUG talk "Automating Dark Mode Screenshots with Xcode 11"
Alternatives To Utm
Select To Compare

Alternative Project Comparisons



It is possible to invent a single machine which can be used to compute any computable sequence.

-- Alan Turing, 1936

UTM is a full featured system emulator and virtual machine host for iOS and macOS. It is based off of QEMU. In short, it allows you to run Windows, Linux, and more on your Mac, iPhone, and iPad. More information at https://getutm.app/ and https://mac.getutm.app/

UTM running on an iPhone
UTM running on a MacBook


  • Full system emulation (MMU, devices, etc) using QEMU
  • 30+ processors supported including x86_64, ARM64, and RISC-V
  • VGA graphics mode using SPICE and QXL
  • Text terminal mode
  • USB devices
  • JIT based acceleration using QEMU TCG
  • Frontend designed from scratch for macOS 11 and iOS 11+ using the latest and greatest APIs
  • Create, manage, run VMs directly from your device

Additional macOS Features

  • Hardware accelerated virtualization using Hypervisor.framework and QEMU
  • Boot macOS guests with Virtualization.framework on macOS 12+


UTM/QEMU requires dynamic code generation (JIT) for maximum performance. JIT on iOS devices require either a jailbroken device, or one of the various workarounds found for specific versions of iOS (see "Install" for more details).

UTM SE ("slow edition") uses a threaded interpreter which performs better than a traditional interpreter but still slower than JIT. This technique is similar to what iSH does for dynamic execution. As a result, UTM SE does not require jailbreaking or any JIT workarounds and can be sideloaded as a regular app.

To optimize for size and build times, only the following architectures are included in UTM SE: ARM, PPC, RISC-V, and x86 (all with both 32-bit and 64-bit variants).


UTM (SE) for iOS: https://getutm.app/install/

UTM is also available for macOS: https://mac.getutm.app/


macOS Development

iOS Development


  • iSH: emulates a usermode Linux terminal interface for running x86 Linux applications on iOS
  • a-shell: packages common Unix commands and utilities built natively for iOS and accessible through a terminal interface


UTM is distributed under the permissive Apache 2.0 license. However, it uses several (L)GPL components. Most are dynamically linked but the gstreamer plugins are statically linked and parts of the code are taken from qemu. Please be aware of this if you intend on redistributing this application.

Some icons made by Freepik from www.flaticon.com.

Additionally, UTM frontend depends on the following MIT/BSD License components:

Continuous integration hosting is provided by MacStadium

MacStadium logo

Popular Virtual Machine Projects
Popular Xcode Projects
Popular Virtualization Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Virtual Machine