Why files stay behind
A Mac app is a single bundle in the Applications folder. Everything it creates while you use it lives elsewhere: settings, caches, databases, downloaded content, plug-ins. macOS has no central record of those files, so when you move the app to the Trash, they stay where they are.
That is on purpose. If you reinstall the app later, your settings and data are still there. Most leftovers are small, a settings file and a cache folder. The large ones come from apps that store content: video editors, games, virtual machines, music software with sample libraries, chat apps and anything that syncs.
First, remove the app the right way
- Check for an uninstaller. Apps that install background helpers, drivers or system extensions (security software, VPNs, audio tools, Adobe and Microsoft apps) often come with their own uninstaller, either in the app’s menu, in its folder in Applications or as a download on the developer’s site. Use it. It removes the parts that dragging to the Trash cannot.
- Otherwise, drag it to the Trash. Quit the app, then move it from Applications to the Trash in Finder. Apps from the App Store can be removed the same way.
- Check background items. Open System Settings > General > Login Items & Extensions. An app you removed should no longer be listed under login items or background items. If it is, its helper is still installed.
Where leftovers live
Most leftovers are in the Library folder of your Home folder. Finder
hides it; choose Go > Go to Folder and type ~/Library to open it.
Inside, look in these folders for a name that matches the app or its
developer:
| Folder | What apps keep there |
|---|---|
Application Support | Data, databases, downloaded content. Usually the largest. |
Containers | Everything of a sandboxed app, including App Store apps |
Group Containers | Data shared between apps of one developer |
Caches | Rebuildable caches |
Preferences | Settings files ending in .plist |
Logs | Log files |
Saved Application State | Window positions, small |
HTTPStorages, WebKit | Web data of apps with built in web views |
LaunchAgents | Helpers that start when you log in |
Apps installed for all users can also leave files in the Library folder
at the top of the startup disk (/Library), in Application Support,
LaunchAgents, LaunchDaemons and PrivilegedHelperTools. Changing
anything there needs an administrator password.
Names to look for
Folders are named after the app (Slack), the developer (Adobe) or
the app’s bundle identifier, a reversed domain such as
com.spotify.client. In Containers, Finder shows the app’s name
instead of the identifier, which makes them easier to recognize.
Group containers start with a team code, as in
UBF8T346G9.Office.
If you still have the app, you can read its identifier before you remove it:
~ % osascript -e 'id of app "Spotify"' com.spotify.client
Then this lists every folder and file in your Library that contains that identifier or the app’s name, with its size. It only reads, it changes nothing:
~ % find ~/Library -maxdepth 3 -iname "*spotify*" -prune -exec du -sh {} + 2>/dev/null 9.1G /Users/you/Library/Caches/com.spotify.client 412M /Users/you/Library/Application Support/Spotify 12K /Users/you/Library/Preferences/com.spotify.client.plist
Terminal may report protected folders as unreadable. That is fine for this search, or give Terminal Full Disk Access in System Settings > Privacy & Security > Full Disk Access.
What is safe to remove
When the app is gone and you do not plan to reinstall it:
- Caches, logs and saved state of that app. Always safe.
- Preferences. The
.plistfiles only hold settings. Removing them resets the app if you install it again. - Application Support and Containers folders. Safe once you are sure there is nothing in them you want. Look inside first: some apps keep documents, projects, game saves or exported files there.
Move them to the Trash rather than deleting them outright, and empty the Trash a few days later, once nothing has complained.
Background helpers and launch agents
Some apps install a small helper that starts at login or runs as a
service. When the app is gone, the helper may keep trying to start.
You may see it listed in Login Items & Extensions, or as a file in
~/Library/LaunchAgents, /Library/LaunchAgents or
/Library/LaunchDaemons named after the developer.
The first step is the app’s uninstaller, if it had one. If not, you
can turn the item off under Allow in the Background in Login Items
& Extensions. Moving the matching .plist file from a LaunchAgents
folder to the Trash and restarting removes it for good. Do this only
for files you can clearly link to the removed app.
The big ones
A few kinds of apps leave behind much more than settings:
- Virtual machines. Parallels, VMware Fusion and UTM store each
virtual machine as one large file or package, often 30 to 100 GB.
Parallels keeps them in
~/Parallels, UTM inside its container. - Music and audio software. Sample libraries and sound packs
for Logic, GarageBand and other tools can be tens of gigabytes,
sometimes in
/Library/Application Support. - Games. Launchers such as Steam keep the games themselves in their Application Support folder.
- Docker. Its disk image stays in
~/Library/Containersafter you remove the app. See Docker eating disk space.
Should you use an uninstaller app?
Uninstaller apps search the same folders listed above, by name and identifier. They can save time, but they guess, and a guess can match a folder another app still uses. Whatever you use, look at the list before you confirm, and prefer tools that move files to the Trash so you can put them back.
