Skip to content

How to free up the space Xcode uses

DerivedData, simulators, runtimes and device support add up to tens of gigabytes. What each is, which come back on their own, and how to remove them in Xcode.

Updated · 4 min read

Xcode keeps a lot besides Xcode itself: build products for every project you've opened, a simulator for every device you've tested on, a runtime for every OS version you've installed, and debug symbols for every OS version your devices have run. None of it is removed when you update Xcode, so it adds up over the years.

Some of it Xcode makes again by itself, some of it downloads again, and some of it can't be made again at all. Here's which is which.

DerivedData: safe to clear

~/Library/Developer/Xcode/DerivedData holds intermediate build files, the code index and build logs, in one folder per project. Xcode rebuilds all of it the next time you build or open a project, so nothing you made is lost. Folders for projects you no longer work on stay behind until they're removed.

To find it, choose Xcode › Settings, click Locations, and click the arrow next to the Derived Data path. Quit Xcode, then move the folders of projects you don't need, or the whole DerivedData folder, to the Trash.

What it costs: the next build of each project is a full, slower build, and Xcode indexes the project again.

Simulators: remove the ones you don't use

Every simulator you create or run is a folder in ~/Library/Developer/CoreSimulator/Devices with its installed apps, their data and its settings. Simulators stay after you remove their runtime or update Xcode; they're then listed as unavailable and can't start.

To remove simulators in Xcode 26, choose Window › Devices and Simulators, click Simulators, then Control-click a simulator and choose Delete. In newer versions of Xcode, choose Xcode › Open Developer Tool › Device Hub, Control-click a simulator you no longer need and choose Remove.

Everything on a removed simulator is deleted, including its apps and their data. You can create a new simulator of the same kind, but it starts empty.

Simulator runtimes: often the largest part

A runtime is the operating system a simulator runs, one for each platform and version: iOS 26, watchOS 26, visionOS, and so on. Each is several gigabytes, and they stay installed until you delete them, even after you update Xcode. macOS stores them as protected disk images, so don't look for them in Finder.

Delete them in Xcode: choose Xcode › Settings and click Components. Click the information button next to a runtime you no longer need, then click Delete. Simulators that use it become unavailable until you install it again, which you can do in the same place.

Device support files: safe, with one catch

When you connect an iPhone, iPad or Apple Watch for development, Xcode copies that OS version's debug symbols into ~/Library/Developer/Xcode/iOS DeviceSupport (and similar folders for watchOS and other platforms). A new set arrives with every software update, and older sets stay behind.

You can move old versions to the Trash in Finder. Xcode copies them again the next time you connect a device running that version, which takes a few minutes for an iPhone and longer for an Apple Watch. The catch: sets for versions you no longer have a device for can't be copied again, so older crash reports from those versions may not show function names.

SwiftUI previews and CoreSimulator's caches

Xcode runs previews on their own set of simulators, in ~/Library/Developer/Xcode/UserData/Previews, and CoreSimulator keeps prebuilt system libraries in ~/Library/Developer/CoreSimulator/Caches. Both come back by themselves: the next preview or the next simulator start just takes longer.

Archives: keep the ones you shipped

Each time you choose Product › Archive, Xcode keeps the exact app you built and its dSYM files, which turn crash reports from that build into readable function names. Apple recommends keeping the archive of every build you distribute. Review them in Window › Organizer and delete only builds you're sure you'll never need to diagnose, such as test archives that never shipped.

Moving everything to the Trash: why not

Deleting ~/Library/Developer as a whole is the advice you'll find most often, and it's the one to avoid. It takes your archives, your simulators' data and settings, and the device support files for devices you no longer have, and some of that can't be made again.

How the app does it

Select any of these folders in the Overview's map or list, and the inspector says what it is, how safe it is to remove and what removing it costs. The Cleanup page lists them by level, with everything else the catalog knows:

  • DerivedData, device support files, CoreSimulator's caches and the previews' simulators are Safe, so they count toward the safe-to-remove total and start checked. Folders go to the Trash, where you can put them back.
  • Archives are Review first and wait for you to check them.
  • Simulators and simulator runtimes are explained, with Xcode's own steps, but the app doesn't remove them: do that in Xcode, as above.

The previews' simulators are removed with Xcode's own tool rather than moved to the Trash. The review sheet shows every step first.

What the app runs, after you review itPRO

xcrun simctl --set previews delete all
The simulators Xcode made for SwiftUI previews

Seeing all of this is free. Removing it is PRO, and the review sheet that shows what would go is free to open before you buy.

Safe to delete?

The entries this guide is about, in the words the app shows. Each has its own page with its sources.

  • ~/Library/Developer/Xcode/DerivedData

    Xcode DerivedData

    Build products, indexes and logs Xcode keeps for every project you've built.

    Safe · Moves it to the Trash

  • ~/Library/Developer/CoreSimulator/Devices

    Simulator devices

    The simulated devices you run apps on from Xcode, each with its own installed apps, data and settings.

    Usually safe · Explained only: the app shows you how

  • /Library/Developer/CoreSimulator/Images

    Simulator runtimes

    The iOS, watchOS, tvOS and visionOS system images that simulators run on, each several gigabytes.

    Managed by macOS · Explained only: the app shows you how

  • ~/Library/Developer/Xcode/* DeviceSupport

    Xcode device support files

    Symbol files Xcode copies from each iPhone, iPad, Apple Watch, Apple TV or Apple Vision Pro you connect, one set per OS version.

    Safe · Moves it to the Trash

  • ~/Library/Developer/Xcode/Archives/*/*.xcarchive

    Xcode archives

    Copies of each build you archived in Xcode, with the dSYM files needed to read crash reports from that build.

    Review first · Moves it to the Trash

  • ~/Library/Developer/CoreSimulator/Caches

    Simulator caches

    Cached data that the simulator service keeps for your user account.

    Safe · Moves it to the Trash

  • ~/Library/Developer/Xcode/UserData/Previews/Simulator Devices

    SwiftUI Previews simulators

    Simulator devices that Xcode creates to show SwiftUI previews in the canvas.

    Safe · Runs xcrun simctl --set previews delete all