Where apps hide your files
UTM keeps every virtual machine as a .utm package inside its own sandbox container, not in your Documents folder. Here is the path, what is inside a package, and how to copy one safely.
~/Library/Containers/com.utmapp.UTM/Data/Documents/
Each virtual machine UTM creates is one .utm item in that folder, for example Ubuntu.utm. UTM runs in the macOS sandbox, so this "Documents" folder belongs to UTM's container; it is not your own ~/Documents. UTM's release notes say so directly: it is the Documents folder in UTM's sandbox, "not the user's documents directory".
The Library folder is hidden. In Finder choose Go > Go to Folder (⇧⌘G), paste the path and press Return. From Terminal:
open ~/Library/Containers/com.utmapp.UTM/Data/Documents
To list the machines and their sizes without opening anything:
ls -lh ~/Library/Containers/com.utmapp.UTM/Data/Documents
du -sh ~/Library/Containers/com.utmapp.UTM/Data/Documents/*.utm
The quickest route of all is in the app: right-click a machine in UTM's list and choose Show in Finder. That also works for machines kept outside the container (see below).
UTM is on the Mac App Store and offered free from its GitHub releases. UTM's installation page says the App Store version is identical to the GitHub version, with no features left out; its only advantage is automatic updates. In UTM's source both are built with the bundle identifier com.utmapp.UTM and the App Sandbox switched on, which is why they use the same container. If the path is empty on your Mac, check what is there (names only):
ls ~/Library/Containers | grep -i utm
A machine made with a very old release may still sit in ~/Documents. UTM 2.0.17 turned the sandbox back on, and its notes told people to move their .utm files from ~/Documents into the container's Documents folder by hand.
UTM is not installed on the Mac used for this guide, so everything here comes from UTM's documentation, release notes and source code.
A .utm item looks like one file in Finder, but it is a package. Right-click it and choose Show Package Contents to look inside. UTM's source names the parts:
config.plist, the machine's settings.Data folder holding the disk images, for example a .qcow2 file for a QEMU machine, and efi_vars.fd for a machine with UEFI firmware.UTM's drive documentation says non-removable drives are stored inside the .utm package, so the whole machine, disks included, travels as one item. Removable drives are different: UTM keeps only a bookmark to the image, so an installer ISO stays wherever you saved it.
Since UTM 4.0.2, host-specific settings such as window options and bookmarks to removable drives are kept in a registry outside the package (in UTM's own preferences), so the package copies cleanly between Macs.
When the package sits on an APFS volume, UTM creates new raw disk images as sparse files, so a "64 GB" drive does not use 64 GB on day one. It grows as the guest writes data. Compare real and apparent size:
du -sh ~/Library/Containers/com.utmapp.UTM/Data/Documents/*.utm
ls -lhR ~/Library/Containers/com.utmapp.UTM/Data/Documents/Ubuntu.utm/Data
Replace Ubuntu.utm with your machine. du shows space actually used; ls shows the size the guest sees.
Space freed inside the guest is not handed back on its own. For QEMU machines, UTM's drive settings offer Reclaim Space and Compress, which rewrite the image as QCOW2 and release unused space. UTM's documentation calls these experimental and says to back up the machine first, and they cannot run while the drive has snapshots or a suspended state.
Snapshots count too. UTM's documentation says a snapshot holds the contents of the machine's writable drives, plus the running state when taken from a running QEMU machine. Delete old ones from the machine's Snapshots tab, which removes the snapshot and all its data.
Shut the guest down first. A package copied while it runs can be inconsistent.
.utm in Finder..utm from another folder or drive. UTM's source adds it as a shortcut that stays where it is; it is not copied into the container.On a new Mac, put the copy where you want it and open it. Start it before you delete the original.
.utm package by hand. config.plist refers to the images in Data, and a missing image leaves a machine that cannot start.The container is inside ~/Library, which Finder and Spotlight searches leave out, and each machine is a package that looks like one file, so the disk images inside never appear on their own.
Type .utm into Everywhere to list every machine package on the Mac, in the container or on a drive you moved one to, or qcow2 to find the disk images inside them. ~/Library/Containers is one of the folders macOS protects, so these appear once Everywhere has Full Disk Access, which also covers external drives. It matches file names only.
In ~/Library/Containers/com.utmapp.UTM/Data/Documents/, one .utm package per machine. This is UTM's sandbox Documents folder, not your own Documents folder.
Shut the VM down, then copy its .utm package, or right-click it in UTM and choose Move... to put it on another drive. Keep the original until the copy starts.
Disk images grow as the guest writes data and snapshots add more. Check the package with du -sh, delete old snapshots, and for QEMU machines try Reclaim Space in the drive settings after backing up.
Yes. Right-click a machine and choose Move..., or copy the .utm to the drive and open it with File > Open..., which adds it to UTM's list without copying it into the container.
Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.
Version 2.20.3 · macOS 13+ · 4.7 MB · notarised