Running Parrot Linux on a Mac is entirely possible, but the right method depends on which chip your Mac has. An Intel Mac can run the normal x86_64 Parrot OS image in a virtual machine or even from a USB stick. An Apple Silicon Mac (M1, M2, M3, M4 and later) uses the arm64 architecture, so it needs either an arm64 build of Parrot or slow emulation of an Intel processor. This guide covers both situations using UTM, a free and open-source virtualization app for macOS, and explains honestly where the limits are so you do not spend an evening fighting something that cannot work.
First, find out which Mac you have
Click the Apple menu and choose About This Mac. If the window shows a line beginning with Chip (Apple M1, M2 and so on), you have Apple Silicon. If it shows Processor with an Intel name, you have an Intel Mac. You can also run uname -m in Terminal: arm64 means Apple Silicon, x86_64 means Intel.
This single fact decides everything that follows:
| Mac type | Parrot image to use | UTM mode | Expected speed |
|---|---|---|---|
| Intel Mac | Standard amd64 ISO (Home or Security) | Virtualize (Apple Hypervisor) | Near native |
| Apple Silicon | arm64 build | Virtualize (Apple Hypervisor) | Near native |
| Apple Silicon | Standard amd64 ISO | Emulate (QEMU TCG) | Very slow; testing only |
What you need to run Parrot Linux on a Mac
- UTM. Download it from the UTM website. The direct download is free; the Mac App Store version costs a small amount and simply funds the project, the software is identical. UTM wraps QEMU and Apple’s Virtualization framework in a native macOS interface.
- Free disk space. Plan on 40 GB for the Home edition and 60 GB for Security. The virtual disk grows as you use it, but macOS will warn you long before the file reaches its limit.
- Memory. A Mac with 8 GB of RAM can run Parrot with 4 GB assigned to the VM, but you will feel it. 16 GB or more on the host is comfortable.
- The right Parrot image. Read our Parrot Linux download guide to choose an edition, then pick the file that matches your architecture as described in the next section. Compare the numbers with the system requirements.
Choosing the image for Apple Silicon
The Parrot project builds arm64 packages and publishes arm64 images, which is what makes native virtualization on Apple Silicon possible at all. Which arm64 downloads are offered changes between releases, so look at the official download page on parrot.sh and check for a file whose name contains arm64 and that is intended for virtual machines or generic UEFI boards, rather than the Raspberry Pi-specific image. Our overview of Raspberry Pi and other builds explains the difference between those images. The Raspberry Pi image is tuned for that board’s boot firmware and will not boot in UTM without manual work, so avoid it unless no other arm64 option exists.
Whatever you download, verify the checksum before you use it. In Terminal, run shasum -a 512 ~/Downloads/parrot-*.iso and compare it with the value published next to the download. Signature checking is covered in Verify the Parrot ISO.
Method 1: Parrot Linux on an Intel Mac with UTM
On Intel Macs UTM uses Apple’s Hypervisor framework to run x86_64 guests at close to native speed. The process is a normal virtual machine install.
- Open UTM and click Create a New Virtual Machine.
- Choose Virtualize, then Linux.
- Leave Use Apple Virtualization unchecked for now; the QEMU backend has broader display support and is the better-tested path for Debian-based installers. Under Boot ISO Image, browse to the Parrot amd64 ISO.
- Memory: 4096 MB or more. CPU cores: half of what your Mac has, with a minimum of 2.
- Storage: 40–60 GB.
- Shared Directory: optionally pick a folder on your Mac to exchange files with the guest later.
- Name the VM, tick Open VM Settings, and save.
- In the settings, under Display, set the emulated display card to virtio-gpu-gl-pci (or plain virtio-gpu-pci if you later see rendering glitches). Under Network, keep Shared Network, which behaves like NAT. Save.
Start the VM, select Live from the Parrot boot menu, and once the desktop appears double-click Install Parrot. The Calamares installer asks for language, keyboard, partitioning and a user account; choose Erase disk at the partition step, because the “disk” is only the virtual file UTM created. The screens are the same as in our Install Parrot Linux walkthrough.
After the installer finishes and reboots, the VM may boot back into the ISO. Shut it down, open the VM settings, select the CD/DVD drive in the left panel and click Clear to eject the ISO, then start it again.
Method 2: Parrot Linux on Apple Silicon with UTM (native arm64)
With an arm64 image the steps are almost identical to the Intel path, and the result is a fast, battery-friendly VM.
- Create a new VM, choose Virtualize → Linux.
- Point Boot ISO Image at the arm64 Parrot file.
- Assign memory and cores as above. Apple Silicon machines handle 4 performance cores for a guest without trouble.
- Create the virtual disk and finish the wizard.
- In the VM settings, confirm the architecture is ARM64 (aarch64) and the system is QEMU 7.x+ ARM Virtual Machine (virt). Set the display to virtio-ramfb-gl or virtio-gpu-gl-pci.
Boot, choose the live or install entry, and run the installer exactly as on Intel. The arm64 package archive does not contain every single tool that the amd64 Security edition ships, because some upstream projects do not build for ARM. For the everyday toolset (nmap, Wireshark, Burp, Metasploit, sqlmap, the Python ecosystem) you will not notice a gap. If a specific package is missing, apt policy packagename tells you whether it exists for your architecture.
What about emulating an Intel Parrot on Apple Silicon?
UTM can emulate an x86_64 PC on an Apple Silicon Mac. Choose Emulate instead of Virtualize and pick the amd64 ISO. It works, but QEMU’s software emulation (TCG) is roughly an order of magnitude slower than native: the installer alone can take an hour, and the desktop stutters. Use this only to test something that genuinely exists for x86_64 and not for arm64, and give the VM a single core, because emulated multi-core guests are often slower, not faster. For daily use, native arm64 is the only pleasant option.
After installation: guest tools, resolution and clipboard
Parrot’s Debian 13 base includes the drivers UTM’s virtual hardware needs, but two packages make the experience much better. In a terminal inside Parrot run:
sudo apt update
sudo apt install spice-vdagent spice-webdavd
sudo systemctl enable --now spice-vdagentd
sudo rebootspice-vdagent gives you a shared clipboard and automatic display resizing when you drag the UTM window. spice-webdavd is what makes the Shared Directory you set up earlier available to the guest. After the reboot, open the file manager and look under Network for the WebDAV share, or mount it manually:
sudo apt install davfs2
sudo mkdir -p /mnt/mac
sudo mount -t davfs http://127.0.0.1:9843/ /mnt/macIf the resolution does not follow the window on KDE Plasma 6, log out and pick the Plasma (X11) session from the session menu on the login screen. Wayland resizing in UTM depends on the display card you chose; the X11 session is the reliable fallback.
Then update the system with Parrot’s wrapper, which handles package transitions better than a bare apt upgrade:
sudo parrot-upgradeWhen it finishes, shut the VM down and, in UTM’s main window, right-click the VM and create a snapshot (or simply duplicate the VM). Restoring that snapshot is the cheapest way to recover from a broken experiment.
Method 3: Booting Parrot from USB on an Intel Mac
Intel Macs can boot a Parrot live USB directly. Write the ISO to a USB stick with dd or balenaEtcher (our guide on creating a Parrot USB drive covers both), then restart the Mac while holding the Option (Alt) key and select the EFI Boot entry. On Macs with a T2 security chip you must first allow booting from external media in Startup Security Utility (reboot into macOS Recovery with Cmd+R to reach it). Expect to spend time on Broadcom Wi-Fi firmware and keyboard backlight drivers; Apple hardware has never been a comfortable Linux target, which is why a VM is the recommended route for most people. Apple Silicon Macs cannot boot Parrot from USB at all through this method; the only path there is virtualization.
Performance tips for Parrot in UTM
- Store the VM on the internal SSD, not an external drive formatted as exFAT.
- Do not over-assign cores. A VM with all of the Mac’s cores competes with macOS itself and often runs slower.
- Enable Balloon Device in the VM’s memory settings so unused guest memory can be returned to macOS.
- If the VM feels laggy while idle, check Activity Monitor on the Mac; a runaway indexer in the guest (such as Baloo on KDE) is a common culprit, and
balooctl6 disableturns it off. - Keep UTM updated; each release tends to improve the GPU-accelerated display paths that KDE Plasma 6 depends on.
FAQ
Can I run Parrot Linux on a Mac with VMware Fusion or Parallels instead of UTM?
Yes. Both support arm64 Linux guests on Apple Silicon and x86_64 guests on Intel, and the Parrot installation steps are the same; only the guest tools differ (open-vm-tools for Fusion, Parallels Tools for Parallels). UTM is covered here because it is free, open source and sufficient for a lab. If you also use a Windows PC, our guide to installing Parrot Linux on VMware Workstation applies to Fusion with minor menu differences.
Will USB Wi-Fi adapters work for wireless testing inside UTM?
UTM can pass through USB devices to a QEMU-backed VM. Plug the adapter in, then use the USB icon in the VM’s toolbar to attach it to the guest. Whether the adapter supports monitor mode depends on its chipset, not on the Mac; check the supported chipsets list before buying one.
Is the arm64 version of Parrot “less complete” than the Intel version?
The base system, desktop and most tools are the same. A small number of packages are unavailable on arm64 because their upstream developers do not build for ARM. Run apt list --installed | wc -l on each architecture if you want to compare on your own machines; the difference is in the tail of specialised tools, not in the core.