# Why Xcode takes so much space, and what you can delete

> iOS DeviceSupport, DerivedData, simulators and archives explained, with what is safe to delete. We found 242 GB of old device files on one Mac.

Updated: 2026-10-12 · Tested on: MacBook Pro 14" (M1 Pro, 16 GB), macOS 26.3 Tahoe, Xcode 26.5 · Applies to: Xcode 15 – 26 on macOS 14 Sonoma – 26 Tahoe · Author: Tu Nguyen, OneClickTool Studio

## Short answer

- Most of Xcode's disk use is in ~/Library/Developer, not in the Xcode app itself.
- The iOS DeviceSupport folder keeps debug symbols for every iOS version of every device you have connected; it is safe to delete, and Xcode copies symbols again when a device reconnects.
- DerivedData holds build output and indexes; deleting it is safe and only makes the next build slower.
- Remove old simulators with xcrun simctl delete unavailable, and old simulator runtimes in Xcode › Settings › Components.
- Keep the Archives of app versions you have shipped, because they are needed to read crash reports.

## Where the space goes

The Xcode app is large on its own, but the space that grows over time lives in your Library folder, which macOS counts as **System Data**. Measure it first:

```
du -sh ~/Library/Developer/Xcode/* ~/Library/Developer/CoreSimulator/* 2>/dev/null | sort -rh | head
```

On the MacBook Pro we test on, `~/Library/Developer` was **296 GB** on a 1 TB disk that had 10 GB free:

| Folder | Size | Safe to delete? |
|---|---|---|
| `Xcode/iOS DeviceSupport` | 242 GB (59 folders) | Yes |
| `CoreSimulator/Devices` | 19 GB | Old ones, yes |
| `Xcode/DerivedData` | 18 GB | Yes |
| `Xcode/Archives` | 11 GB | Only builds you never shipped |
| `Xcode/UserData` | 3.1 GB | No, these are your settings and snippets |

Nobody chose to keep 242 GB of debug symbols. They pile up silently, one folder each time an iPhone or iPad with a new iOS version is plugged in.

## 1. Delete old iOS DeviceSupport folders

Each folder is named after an iOS version and build, such as `16.5 (20F66) arm64e`. Xcode copies one the first time you debug on a device running that version, and never removes it.

In Finder press <kbd>⇧</kbd> <kbd>⌘</kbd> <kbd>G</kbd> and go to:

```
~/Library/Developer/Xcode/iOS DeviceSupport
```

Sort by name and move every folder for an iOS version you no longer test on to the Trash. If you are unsure, delete them all: the next time a device connects, Xcode shows that it is preparing the device and copies only the version it needs. Do the same in `watchOS DeviceSupport` and `tvOS DeviceSupport` if they exist.

## 2. Delete DerivedData

DerivedData holds build products, logs and the index Xcode uses for autocomplete. Quit Xcode, then:

```
rm -rf ~/Library/Developer/Xcode/DerivedData/*
```

This deletes immediately rather than moving to the Trash, which is fine here because everything in it is rebuilt. If you prefer Finder, open the folder the same way as above and drag its contents to the Trash. The first build of each project afterwards takes longer.

## 3. Remove old simulators and runtimes

Simulator devices for iOS versions you no longer have installed are dead weight. This removes them:

```
xcrun simctl delete unavailable
```

Simulator **runtimes** (the iOS system images) are separate and live outside your home folder. List them with:

```
xcrun simctl runtime list
```

Our test Mac had two runtimes using 16.6 GB, one of them iOS 17.0.1 that no current project targets. Remove old ones in **Xcode › Settings › Components**, or with `xcrun simctl runtime delete` followed by the ID from the list.

## 4. Clean up Archives carefully

Archives are the builds you exported or uploaded. Open **Window › Organizer** in Xcode, select **Archives**, and delete test builds you never shipped. Keep archives (or at least their dSYM files) for versions that are live on the App Store, because they turn crash reports into readable code locations.

> **Leave these alone:** `Xcode/UserData` (your key bindings, themes, code snippets) and anything in `/Applications/Xcode.app`. To remove Xcode itself, delete the app from Applications like any other app.

## Make it stay small

Space comes back as you keep developing. Every few months, repeat steps 1 and 3. If you only build for the Mac and never plug in an iPhone, DeviceSupport stays empty and DerivedData is the main thing to watch.

Developer files are one of several parts of System Data; see the [System Data guide](https://oneclicktool.app/fix/storage/mac-system-data-too-large) for the others, [Library caches](https://oneclicktool.app/fix/storage/is-it-safe-to-delete-library-caches) for package manager caches, and the [full storage checklist](https://oneclicktool.app/fix/storage/mac-storage-full) if your disk is still full.

## FAQ

**Is it safe to delete the iOS DeviceSupport folder?**

Yes. It only holds debugging symbols copied from your devices. When you connect a device again, Xcode shows that it is preparing the device and copies the symbols for that iOS version again.

**Will deleting DerivedData break my project?**

No. DerivedData is build output, logs and the code index. Xcode rebuilds it on the next build, which takes longer once.

**Can I delete old Xcode archives?**

Delete archives of builds you never shipped. Keep archives of App Store releases, or at least their dSYM files, so crash reports from those versions can still be read.

**Why is Xcode still large after deleting these folders?**

Simulator runtimes are stored outside your home folder and are managed in Xcode › Settings › Components or with xcrun simctl runtime. The Xcode app itself is also several gigabytes.

## Sources

- [Free up storage space on Mac — Apple Support](https://support.apple.com/en-us/102624)
- [Downloading and installing additional Xcode components — Apple Developer](https://developer.apple.com/documentation/xcode/downloading-and-installing-additional-xcode-components)

Source: https://oneclicktool.app/fix/storage/xcode-taking-up-space
