SweepBarGet it free

Reset or delete iOS simulators from Terminal with simctl

By EgeTech LTD · October 6, 2026 · 2 min read

Simulators fill up quietly. Every app you run, every test account you sign in with and every downloaded file stays inside a virtual device until you remove it. The good news: Xcode ships with a tool for this, simctl, and it is safer than touching the folders yourself.

See your simulators first

xcrun simctl list devices

You get every device, its state (Shutdown or Booted) and its UDID, the long identifier you will use in the commands below. To check how much space they take:

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

Each simulator has its own folder in there, named after its UDID.

Erase the data but keep the simulators

This resets every simulator to a fresh install. Apps, logins and files are gone, the devices stay:

xcrun simctl shutdown all
xcrun simctl erase all

Shut them down first: a booted simulator cannot be erased. To erase only one, use its UDID instead of all:

xcrun simctl erase 3F2A1C7E-9B0D-4C55-8E21-0A5D7C3B9F11

Inside the Simulator app you can do the same for the current device with Device → Erase All Content and Settings…

Delete simulators you do not use

Delete one device:

xcrun simctl delete 3F2A1C7E-9B0D-4C55-8E21-0A5D7C3B9F11

Delete the unavailable ones. After an Xcode update, simulators built for an older SDK stay behind and show as unavailable. This removes every device the current Xcode no longer supports:

xcrun simctl delete unavailable

Delete all of them. xcrun simctl delete all removes every simulator. You can create the ones you need again, so it is less drastic than it sounds, but you lose all their data.

Remove one app from one simulator

xcrun simctl uninstall booted com.yourcompany.yourapp

booted means the simulator that is running right now. Use a UDID to target another one.

Why not just delete the folder?

You can find the Devices folder in Finder and drag it to the Trash, and it frees the space. The problem is that CoreSimulator keeps its own list of devices. If the folders vanish behind its back, the list and the disk disagree, and you can end up with simulators that fail to boot or do not show up. simctl changes both together.

Rule of thumb: erase when you want a clean slate, delete unavailable after every Xcode update, delete for devices you will never use again.

What it costs

The big simulator files live elsewhere: see how to delete Xcode simulator runtimes. For the rest of Xcode’s clutter, start with DerivedData and the full developer checklist.

Quick answers

What is the difference between erase and delete?

Erase resets a simulator to a fresh install, but keeps the device. Delete removes the device entirely. You can create a new simulator again from Xcode whenever you want.

Is it safe to delete the CoreSimulator Devices folder by hand?

It is better to use simctl. Deleting the folder yourself can leave CoreSimulator pointing at devices that no longer exist, and simctl is built to keep that list consistent.

Does erasing a simulator delete my app's source code?

No. It removes the app and its data from the simulator, nothing in your project.