AskCleanAskClean

How to Completely Uninstall Xcode on Mac Without Losing Projects or dSYMs

AskClean Team · Updated 2026-09-01

To uninstall Xcode completely, first preserve project folders and any Archives or dSYMs needed for released builds. Then move Xcode to the Trash, review DerivedData and simulator storage separately, and keep Command Line Tools if Homebrew or another compiler still uses them. The safe process removes rebuildable developer data without treating every Library folder as junk.

A Mac developer workspace with archives and simulator devices separated before Xcode removal
A complete Xcode uninstall starts by separating source, release evidence, and simulator state from rebuildable caches.

Before uninstalling: inventory what Xcode owns and what it does not

Xcode is more than /Applications/Xcode.app. Its app bundle contains the IDE and bundled SDKs, while your user Library can hold DerivedData, Archives, device symbols, simulator runtimes, simulated-device state, documentation, previews, and logs. Your source repositories normally live somewhere else — often under Documents, a workspace folder, or a Git checkout — and must never be classified as Xcode leftovers.

Quit Xcode and Simulator. Commit or back up every project you still need, including local packages and untracked assets. Then measure the large categories separately rather than looking at one combined Developer folder. Finder's Get Info works; in Terminal, du -sh on each named path gives a read-only inventory. Do not start with sudo or a recursive delete.

  1. Record the locations of every project or workspace you want to keep and verify its remote or backup copy.
  2. Open Xcode > Window > Organizer > Archives and identify builds that still matter for App Store, TestFlight, enterprise, or customer releases.
  3. Run xcode-select -p to see which developer directory command-line tools currently use.
  4. Run xcrun simctl list runtimes and xcrun simctl list devices while Xcode is still installed so you can identify simulator data intentionally.
  5. Measure DerivedData, Archives, iOS DeviceSupport, and CoreSimulator separately before deciding what to remove.

Deleting Xcode.app does not delete your source projects. Deleting a project folder does. Keep project paths outside every cleanup selection.

Protect Archives, dSYMs, and device support before cleanup

Archives under ~/Library/Developer/Xcode/Archives are not ordinary build cache. Each .xcarchive can contain the exact app build and dSYM symbols needed to turn a production crash address into a readable stack trace. If a version is still distributed, keep its archive unless you have independently verified that the corresponding symbols are stored and retrievable elsewhere.

DeviceSupport folders contain symbols and support files for physical OS versions. They can usually be recreated when a matching device reconnects, but that download or preparation has a cost, and old crash investigation may depend on exact symbols. Simulator devices under CoreSimulator can also contain test databases, logins, screenshots, and application state that are not present in source control.

The safe default is simple: keep Archives, current DeviceSupport, and simulator devices with state you recognize. If the goal is only to uninstall the IDE temporarily, these categories can remain for a later reinstall. If the goal is to retire Xcode permanently, archive what matters first and remove the rest category by category.

Remove Xcode itself through Finder

Open Applications, verify the selected app is Xcode, and move it to the Trash. If you keep multiple named copies such as Xcode-beta.app, inspect each one separately. Moving the bundle to the Trash preserves a recovery window until you empty it and avoids the irreversible behavior of rm -rf.

If xcode-select points inside the app you just removed, command-line builds may stop working until you install or select another developer directory. That is expected. Do not immediately delete /Library/Developer/CommandLineTools: Git, Homebrew, language toolchains, build scripts, and package installers can use it even when the full Xcode IDE is gone.

To continue using standalone Command Line Tools, keep them and confirm xcode-select -p resolves to /Library/Developer/CommandLineTools. If you truly want to remove all Apple developer tooling, first audit every workflow that calls clang, git, make, xcrun, or SDK utilities. Command Line Tools are a separate decision, not an automatic Xcode leftover.

Remove rebuildable Xcode caches separately

DerivedData is the lowest-risk large category. It contains indexes, build products, logs, and intermediate output associated with projects. Removing it does not remove source, but the next index and build will take longer. Xcode caches and documentation caches have the same general trade-off: disk space now, rebuild or download later.

Quit Xcode first, then move only clearly identified cache folders to the Trash. Work one category at a time and remeasure. Keep Archives and source folders outside this operation, and do not treat the entire ~/Library/Developer directory as disposable — it mixes caches with release evidence and simulator state.

Decide whether simulator runtimes and devices should go

A runtime is a downloadable operating-system image. A simulated device is an instance with its own app data and state. Removing an old runtime saves several gigabytes and costs a future download. Removing a device can destroy local test data. Those are different consequences, even though both live under CoreSimulator.

Prefer Xcode's Platforms settings or simctl to remove runtimes and devices, because those interfaces understand the simulator inventory. Avoid dragging random UUID folders out of CoreSimulator. If you plan to reinstall Xcode soon, keeping current runtimes can save time; if you are retiring the development environment, remove only after exporting any test data you need.

Verify the uninstall before emptying the Trash

Search Applications and Spotlight for additional Xcode copies, check that no Xcode or Simulator process is running, and run xcode-select -p again. A valid Command Line Tools path means developer tools intentionally remain; a path into a removed Xcode bundle means the active developer directory needs attention.

Compare each measured category with the initial inventory. Confirm project folders still open in Finder or exist in their verified backup. Confirm required Archives and dSYMs remain. Only then empty the Trash. macOS Storage may need time or a restart to recalculate System Data, so trust measured folder changes before the colored storage bar.

AskClean's Uninstall Apps view follows the same boundary: it can find the application, caches, preferences, logs, and known associated data, while project folders and protected developer assets stay outside automatic selection. Scan and review are useful when several Xcode versions or years of developer data make the manual inventory hard to follow.

Xcode uninstall safety map

The storage under Library has different owners and recovery costs; a complete uninstall should preserve that distinction.

ItemTypical locationSafe decision
Source projectsUser-selected project foldersKeep. Source, assets, local packages, and unpushed work are not Xcode leftovers.
Archives and dSYMs~/Library/Developer/Xcode/ArchivesReview. Keep symbols for builds that still need crash diagnosis.
DerivedData~/Library/Developer/Xcode/DerivedDataRebuildable. The next index and build will be slower.
Simulator runtimesXcode Platforms / CoreSimulatorRedownloadable. Remove through Xcode or simctl.
Simulator devices~/Library/Developer/CoreSimulator/DevicesReview. Local test app data and state can be lost.
Command Line Tools/Library/Developer/CommandLineToolsKeep by default when Git, Homebrew, or compilers still use them.

Locations are common macOS defaults. Xcode installations, project roots, and developer-directory selection can be customized; verify the actual path before removal.

FAQ

Will uninstalling Xcode delete my projects?

Moving Xcode.app to the Trash does not delete projects stored elsewhere. A cleanup becomes dangerous when it treats an entire workspace, Documents folder, repository, or custom build-output root as an Xcode leftover. Record and back up project paths first.

Can I delete all of ~/Library/Developer?

No. It mixes rebuildable DerivedData with Archives/dSYMs, device support, simulator runtimes, simulated-device state, and other developer data. Review named subcategories instead of deleting the parent.

Should I remove Command Line Tools too?

Only if you no longer need Git, clang, make, Homebrew builds, language toolchains, or scripts that depend on Apple developer utilities. They are independent from the Xcode app bundle and should be kept by default.

Why is System Data still large after deleting Xcode?

Xcode.app is only one part. Archives, DerivedData, CoreSimulator, DeviceSupport, package-manager caches, local snapshots, and unrelated application data can remain. Measure each category and allow macOS time to recalculate.

Can I reinstall Xcode later?

Yes. The app and simulator runtimes can be downloaded again. Reinstallation cannot recreate unbacked-up projects, production dSYMs, custom simulator state, or other data for which no source remains.

Sources

Related developer storage tasks