How to uninstall apps on a Mac completely

Dragging an app to the Trash removes the app, but not the data it keeps in your Library. For some apps that data is larger than the app itself. Here is how to remove both, and how to find leftovers from apps you deleted long ago.

Step 1: Remove the app

Quit the app first. Then, in Finder, open Applications and drag the app to the Trash, or select it and press ⌘⌫. If the app came with its own uninstaller, use that instead. Security software, VPNs, audio drivers and some Adobe and Microsoft apps install components that only their uninstaller can remove.

Step 2: Remove its data from your Library

Apps keep their data in the Library folder inside your home folder. In Finder, choose Go › Go to Folder (⇧⌘G) and type ~/Library. Then look in these folders for items named after the app or its bundle identifier, such as com.example.App:

FolderWhat apps keep there
~/Library/Application SupportDatabases, downloaded content, plug-ins
~/Library/Containers and Group ContainersAll data for sandboxed apps, including Mac App Store apps
~/Library/CachesCaches that can be rebuilt
~/Library/PreferencesSettings files (.plist)
~/Library/Saved Application StateWindow state
~/Library/Logs, HTTPStorages, WebKitLogs, cookies and web storage

To find an app’s bundle identifier before you delete it, run osascript -e 'id of app "AppName"' in Terminal.

Step 3: Check login items and background helpers

Open System Settings › General › Login Items & Extensions and remove anything the app registered. Launch agents and daemons can also sit in ~/Library/LaunchAgents, /Library/LaunchAgents and /Library/LaunchDaemons. Removing items in /Library requires an administrator password.

Be careful with shared folders

Some vendors share folders between apps. Deleting Application Support/Google affects Chrome and other Google apps, and Group Containers may be shared with an app’s extensions. Delete only what clearly belongs to the app you removed.

With SpareDisk

Select an app and choose Uninstall…. SpareDisk reads the app’s bundle identifier and lists the app with its containers, caches, preferences, saved state, logs and Application Support data. Matches by identifier are checked. Folders that only share the app’s name start unchecked. Leftovers lists Library data whose app is no longer installed, grouped by app, so you can clean up after apps you deleted years ago. Everything goes through Review and into the Trash, nothing is removed automatically, and Apple’s own identifiers are never listed.

SpareDisk is sandboxed, so it can’t remove login items, launch agents in /Library or system extensions. It tells you when these are involved. More in Uninstall and leftovers.

Questions

Does dragging an app to the Trash uninstall it completely?
It removes the app itself but usually leaves its caches, containers, preferences and Application Support data in your Library. Remove those as well to reclaim all of its space.
Where do Mac apps store their data?
Mostly in your Library folder: Application Support, Containers, Group Containers, Caches, Preferences and Saved Application State. Some also install launch agents or daemons in /Library.
How do I find leftovers from apps I already deleted?
Look in ~/Library for folders named after the app or its bundle identifier. SpareDisk’s Leftovers screen does this automatically by listing Library data that no installed app claims.