SpotlessOverviewFeaturesPricingCompareHelpGuidesSupport
Doolphin › Spotless › Guides › How to uninstall apps and their leftovers on Mac

How to uninstall apps and their leftovers on Mac

Published 2026-11-11

Dragging an app from Applications to the Bin removes the app bundle and nothing else. Its preferences, caches, saved data, login items and background helpers stay in Library. To remove an app fully, find its bundle identifier, search the Library folders for it, and delete the matches you recognise. Most leftovers are small. The ones that matter are large app data folders, background helpers that keep running, and a subscription that keeps billing.

Step 1: Quit it and use its own uninstaller if it has one

Quit the app (check Activity Monitor for helpers). Some vendors ship an uninstaller because they install system-level components: Adobe, Microsoft Office, many VPN, audio and security tools. Look in the disk image, in /Applications and in the vendor's support page. Use it first. It knows paths that a search will not.

For apps from the Mac App Store, you can also hold the icon in Launchpad until it wiggles and click the X.

Apps that came with macOS (Safari, Mail, Notes) are part of the sealed system volume. You cannot remove them, and you should not hunt for their folders in Library.

Step 2: Get the bundle identifier

osascript -e 'id of app "Safari"'
mdls -name kMDItemCFBundleIdentifier /Applications/Safari.app

Both return the same thing, com.apple.Safari in this case. Get this before you delete the app, since the identifier is read from the app itself. If you already deleted it, read it from a leftover file name such as ~/Library/Preferences/com.vendor.app.plist.

Step 3: Search the places apps write to

Use the identifier, then the app's name, then the vendor's name. The folder names vary.

find ~/Library /Library -maxdepth 3 -iname '*com.vendor.app*' 2>/dev/null
find ~/Library /Library -maxdepth 3 -iname '*AppName*' 2>/dev/null

Here is what lives where, and what removing it does.

PathWhat it holdsIf you delete it
~/Library/Application Support/<App>Databases, downloaded content, plug-insFrees the most space. Also deletes data that exists nowhere else if the app never synced it.
~/Library/Preferences/<id>.plistSettingsA reinstall starts with defaults.
~/Library/Caches/<id>Rebuildable dataNothing lost.
~/Library/Containers/<id>Everything for a sandboxed appSame as Application Support. Includes documents the app stored.
~/Library/Group Containers/<group>Data shared between an app and its extensionsOther apps by the same vendor may share it.
~/Library/Saved Application State, HTTPStorages, WebKit, LogsWindow state, web data, logsHarmless.
~/Library/LaunchAgents, /Library/LaunchAgents, /Library/LaunchDaemonsBackground jobs that start at login or bootStops the helper. Skip this and it keeps launching and failing in the background.
/Library/PrivilegedHelperToolsAdmin-level helper programsNeeds an administrator password. Delete only the matching one.

Drag matches to the Bin from Finder (Shift+Cmd+G to open a path). They are recoverable until you empty it. Do not use rm -rf on a search result you have not read. A -iname '*Mail*' search returns folders that belong to macOS itself, and permission prompts or "Operation not permitted" on a result mean the system is protecting it.

Step 4: Background items and receipts

Open System Settings > General > Login Items & Extensions and switch off or remove anything from the app. Check what is loaded:

launchctl list | grep -i vendor
ls ~/Library/LaunchAgents /Library/LaunchAgents /Library/LaunchDaemons | grep -i vendor

If the app was installed with a .pkg, the installer left a receipt, and you can see what it placed:

pkgutil --pkgs | grep -i vendor
pkgutil --files com.vendor.app.pkg

pkgutil --forget deletes only the receipt record. It does not uninstall files. The listing from --files is useful because it names paths such as /Library/Application Support/Vendor that a bundle-ID search misses.

What most articles skip or get wrong

Searching by bundle ID misses folders named after the vendor or the product. ~/Library/Application Support/Google and ~/Library/Application Support/Adobe are named for the company, and the app's identifier does not appear in them. Search for the name too.

A folder named after a vendor is often shared. If you remove Chrome, Application Support/Google may also hold data for Google Drive or Earth. Open the folder and look at what is inside before you delete it.

Deleting a preference file can appear to do nothing. macOS caches preferences in a background process (cfprefsd). If the app is later reinstalled or still running, the old settings return. Restart the Mac or run killall cfprefsd after removing plist files.

Uninstalling cancels nothing. An app subscribed through the App Store keeps billing until you cancel under System Settings > your name > Media & Purchases > Subscriptions. A subscription on the vendor's own site needs cancelling there. Keychain items (saved passwords, tokens) also stay in Keychain Access until you remove them.

Free space may not change. The app bundle itself is often the smallest part. Check du -sh ~/Library/Application\ Support/<App> before you decide whether the cleanup is worth the effort.

What breaks if you get it wrong

Removing the wrong shared folder can reset another app by the same vendor, and removing a container deletes documents that lived only there. Both are recoverable from the Bin. Removing a LaunchDaemon or helper that belongs to something still installed (a VPN client, a driver) can break that software until you reinstall it. Leave anything whose owner you cannot identify.

Using Spotless for this

Spotless's app uninstaller does the search in step 3 for you. Pick an app and it lists its related files from Preferences, Application Support, Caches, Logs, Containers, Group Containers, saved state and launch items. You review the list and the items go to the Trash. It does not cancel subscriptions, and Keychain passwords and the permissions you granted in System Settings (camera, microphone, files) stay until you remove them there. See App uninstaller.

Keep going

More guides

Not connected yet