Is It Safe to Delete iOS Simulator Devices on Your Mac?

Yes, but read this firstDiskmack safety tier: Caution
~/Library/Developer/CoreSimulator/Devices

Usually, yes, you can delete iOS Simulator devices, but know what goes with them. The folder at ~/Library/Developer/CoreSimulator/Devices holds every simulated iPhone and iPad on your Mac, including the apps and data installed inside each one. Xcode recreates devices on demand, but any app data you had inside a deleted simulator does not come back. If you have not opened Xcode in months, this folder is one of the biggest single wins on a full disk.

What it is

Every time Xcode installs a new iOS, watchOS, or tvOS runtime, it creates a batch of simulator devices for it: one for each supported iPhone and iPad model, plus watches and Apple TVs for their runtimes. Each device lives in its own folder under ~/Library/Developer/CoreSimulator/Devices, named with a long UUID. Inside is a complete copy of that simulated device's file system: the apps you built and installed, their documents and caches, photos you added for testing, and the device's own system data.

The folder grows in two ways. Updating Xcode adds a fresh batch of devices for the new runtime while the old ones stick around, so after a few Xcode releases you can have dozens of devices, most tied to runtimes you no longer use. And every app you run in a simulator writes data into that device, so active projects inflate their devices over time. A few gigabytes is normal for a light setup. Long-time iOS developers often find 20 GB or more here.

Is it safe to delete?

This folder gets a caution rating because it holds two different things: the devices themselves, which are disposable, and the app data inside them, which is not. Delete a device and Xcode or simctl will recreate it empty when you next need it. But everything installed in it, test accounts you signed into, sample data you loaded, photos in the simulated camera roll, is gone permanently. If your testing depends on a carefully staged simulator, deleting that device means staging it all over again.

The right move is not to wipe the whole folder blindly. Run xcrun simctl delete unavailable to remove only the devices tied to runtimes that are no longer installed, which is where most of the dead weight lives. If you need more space after that, delete individual devices you recognize as obsolete instead of everything at once. Diskmack identifies this folder automatically and cleans it the safe way.

How to check its size

In Finder: In Finder, choose Go > Go to Folder (or press Shift-Command-G), enter ~/Library/Developer/CoreSimulator, and press Return. Select the Devices folder and press Command-I. The Get Info window shows the total size, though it can take a minute to count everything.

In Terminal:

du -sh ~/Library/Developer/CoreSimulator/Devices

The ~ expands to your home folder automatically. To see the size of each individual device, run du -sh ~/Library/Developer/CoreSimulator/Devices/*.

How to clean it

  1. Quit Xcode and the Simulator app if either is running.
  2. Open Terminal (Applications > Utilities > Terminal).
  3. Run xcrun simctl delete unavailable to remove every device whose runtime is no longer installed. This is the safe bulk cleanup and usually recovers the most space.
  4. To review what is left, run xcrun simctl list devices. Each device is listed with its name, UUID, and state.
  5. Delete a specific device you no longer need with xcrun simctl delete <UUID>, replacing <UUID> with the ID from the list.
  6. If you accept losing all simulator app data and want a clean slate, run xcrun simctl delete all. Xcode will recreate default devices the next time you build for a simulator.

The official way: this tool ships its own cleanup command, which handles locks and indexes correctly.

xcrun simctl delete unavailable

Avoid dragging the Devices folder to the Trash by hand. A background process called CoreSimulatorService tracks which devices exist, and deleting folders behind its back can leave Xcode showing devices that are no longer there. simctl does the same job and keeps the bookkeeping straight.

Will it come back?

Partially. Xcode recreates a standard set of devices whenever it installs a runtime, and builds a fresh device the first time you target one, so the folder repopulates within minutes of normal Xcode use. What does not come back is the data inside deleted devices; recreated ones start empty, so reinstalling your app and re-staging test data is on you. Old runtime devices also pile up again with every Xcode update, so running xcrun simctl delete unavailable after each major update is a reasonable habit.

Common questions

Can I just drag the Devices folder to the Trash?

You can, but you lose every device and its data at once, and the CoreSimulatorService process that runs in the background (even after Xcode quits) may keep listing devices that no longer exist until it restarts. xcrun simctl delete is the supported route, and it keeps those records in sync with what is actually on disk.

Will deleting simulator devices break Xcode?

No. Xcode treats devices as disposable and recreates them on demand. The first build after a cleanup takes a bit longer while a fresh device boots, and you will need to reinstall your app and set up any test data again.

How is this different from the CoreSimulator Caches folder?

Devices holds the simulators themselves plus the app data inside them. The neighboring Caches folder holds derived runtime files that rebuild automatically, so it is the safer of the two to clear. Devices is where a deletion can cost you staged test data.

I don't use Xcode. Why is this folder on my Mac?

At some point Xcode ran on this Mac, or someone launched the Simulator once, perhaps for a single test. If Xcode is still installed but unused, xcrun simctl delete all clears the devices. If Xcode has been uninstalled, simctl went with it, so drag the Devices folder to the Trash in Finder instead. Nothing else on the Mac uses it.

Related folders