qemu_logo_icon_169821

QEMU

QEMU is the open-source machine emulator and virtualizer behind KVM, Proxmox VE and libvirt. It runs VMs at near-native speed with KVM, HVF or WHPX, emulates other CPU architectures, and converts disk images with qemu-img. Free, GPL-2.0.

OSWindows
Size165 MB
Version10.0.2
FreeLatest version: 11.1.2Actively developed

QEMU is a free, open-source machine emulator and virtualizer for sysadmins, developers and embedded engineers who need to run virtual machines, test other CPU architectures or convert disk images. It is the engine underneath KVM-based platforms such as Proxmox VE and libvirt/virt-manager, so even if you never type a qemu command yourself, your VMs may already be running on it. If you came here for a QEMU download, note that the project publishes source code and Linux distributions package it; Windows and macOS builds come from community packagers.

QEMU works in two ways. With a hardware accelerator — KVM on Linux, Hypervisor.framework (HVF) on macOS, the Windows Hypervisor Platform (WHPX) on Windows — it runs guests of the same architecture at near-native speed. Without one, its TCG translator emulates a different CPU entirely, so you can boot an ARM, RISC-V, PowerPC or MIPS system on an ordinary x86 PC, just more slowly.

QEMU at a glance

ItemDetails
Latest version11.1.2 (28 September 2026)
LicenceFree and open source, GPL-2.0 (some components under compatible licences)
PlatformsLinux, macOS, Windows (community builds), FreeBSD and other BSDs
DeveloperThe QEMU project (member of Software Freedom Conservancy); originally written by Fabrice Bellard
Official websiteqemu.org
Best forKVM virtual machines on Linux, cross-architecture emulation, disk-image conversion, automated test VMs

What it does

  • Full-system emulation of many architectures: x86, ARM/AArch64, RISC-V, PowerPC, MIPS, s390x, SPARC and more.
  • Near-native virtualization with KVM (Linux), Xen, HVF (macOS) and WHPX (Windows).
  • User-mode emulation on Linux: run a single ARM or RISC-V binary on an x86 host (qemu-user-static), widely used for multi-arch container builds.
  • qemu-img: create, convert, resize, snapshot and inspect disk images in qcow2, raw, VMDK, VHD/VHDX, VDI and other formats.
  • VirtIO paravirtual devices for fast disk and network I/O, plus emulated legacy hardware for old operating systems.
  • Live migration, snapshots, the QEMU monitor and the QMP JSON interface used by libvirt and management tools.
  • Remote display via VNC or SPICE, and headless operation with a serial console.
  • The QEMU guest agent (qemu-ga) lets the host freeze filesystems for backups, shut down guests cleanly and read guest IP addresses.

How sysadmins use it

Create and boot a KVM virtual machine from the command line

  1. Create a thin-provisioned disk:
    qemu-img create -f qcow2 /var/lib/vms/debian.qcow2 40G
  2. Boot the installer with KVM, VirtIO disk and user-mode networking that forwards host port 2222 to the guest’s SSH:
    qemu-system-x86_64 -accel kvm -cpu host -m 4G -smp 4 
      -drive file=/var/lib/vms/debian.qcow2,if=virtio 
      -cdrom debian-netinst.iso -boot d 
      -nic user,model=virtio-net-pci,hostfwd=tcp::2222-:22
  3. After installation drop -cdrom and -boot d, and connect with ssh -p 2222 user@localhost.

Convert a VMware or Hyper-V disk

qemu-img convert -p -f vmdk -O qcow2 server.vmdk server.qcow2
qemu-img convert -p -f vhdx -O qcow2 server.vhdx server.qcow2
qemu-img info server.qcow2

This is the usual first step when moving VMs to Proxmox VE or plain KVM. Windows guests need VirtIO drivers installed (or the disk kept on an emulated SATA controller) before they will boot from a VirtIO disk.

Test an ARM image without ARM hardware

qemu-system-aarch64 -M virt -cpu cortex-a72 -m 2G -nographic 
  -bios QEMU_EFI.fd -drive file=arm64.qcow2,if=virtio

Expect this to be much slower than native because every instruction is translated. Exit the serial console with Ctrl+A, then X.

Install the guest agent

Inside a Linux guest run apt install qemu-guest-agent or dnf install qemu-guest-agent and start the service; on Windows install it from the VirtIO drivers ISO. Enable the agent option on the host (in Proxmox: VM > Options > QEMU Guest Agent) so backups can quiesce the filesystem.

Install and first run

Linux. Use your distribution: apt-get install qemu-system (Debian/Ubuntu), dnf install @virtualization (Fedora), yum install qemu-kvm (RHEL-family), pacman -S qemu (Arch), zypper install qemu (SUSE). Check that virtualization is enabled in the BIOS/UEFI and that /dev/kvm exists; add your user to the kvm group. virt-manager gives you a GUI on top.

macOS. brew install qemu or sudo port install qemu. Use -accel hvf for same-architecture guests (ARM64 guests on Apple silicon). The project notes that QEMU requires the most recent available macOS version.

Windows. The QEMU project does not build Windows installers itself; it points to 32- and 64-bit installers built by Stefan Weil and to MSYS2 packages (64-bit Windows only). For acceleration, enable the Windows Hypervisor Platform feature and start guests with -accel whpx. KVM does not exist on Windows.

Gotchas. Forgetting the accelerator flag leaves you on pure emulation and makes x86 guests painfully slow. User-mode networking (the default) does not accept incoming connections unless you add hostfwd rules; use a bridge or tap interface for a VM that needs its own LAN address. In the GTK window, Ctrl+Alt+G releases the mouse and Ctrl+Alt+F toggles full screen.

Limitations

  • The command line is long and unforgiving; most people use libvirt/virt-manager, Proxmox VE or UTM on top.
  • No official Windows builds and no built-in GUI VM manager.
  • WHPX and HVF acceleration are less mature than KVM, and some devices or features are KVM-only.
  • Cross-architecture emulation is far slower than native execution.
  • 3D graphics support for guests is limited compared with desktop hypervisors.

QEMU vs alternatives

Proxmox VE uses QEMU/KVM underneath and adds a web GUI, clustering and backups — pick it for a virtualization host. VMware Workstation Pro and VirtualBox are friendlier desktop hypervisors with GUIs and better guest integration, but only virtualize x86 (or ARM on Apple silicon) and cannot emulate foreign CPUs. Vagrant automates building disposable test VMs and can drive QEMU/libvirt through plugins.

FAQ

What is the difference between QEMU and KVM?

KVM is a Linux kernel module that exposes the CPU’s hardware virtualization; QEMU is the user-space program that emulates the rest of the machine and uses KVM for speed. In practice “QEMU/KVM” is one stack.

Is QEMU free?

Yes. QEMU is free and open source under the GPL-2.0 licence, including for commercial use.

Can I run QEMU on Windows 10 or 11?

Yes, with the community Windows builds or MSYS2 packages. Enable the Windows Hypervisor Platform feature and use -accel whpx for acceptable speed.

QEMU vs VirtualBox — which is better?

VirtualBox is easier for desktop VMs with a GUI. QEMU is better for Linux servers, automation, disk conversion and running other CPU architectures.

What is the QEMU guest agent?

A small service inside the guest that lets the host shut it down cleanly, freeze filesystems for consistent backups and report IP addresses.

How do I exit QEMU?

Shut down the guest normally, or in a -nographic console press Ctrl+A then X. In the monitor, the quit command stops the VM immediately.

Does QEMU run on macOS?

Yes. Install it with Homebrew or MacPorts; use -accel hvf for native-architecture guests. UTM is a popular macOS GUI built on QEMU.

Last checked against official sources: 30 September 2026 (developer website: qemu.org). Versions and licence terms change — confirm on the developer's site before deploying in production.

Other articles

Submit your application