August 18, 2026

How to Uninstall Apps on Mac Completely (Not Just Drag to Trash)

Dragging an app from Applications to the Trash removes the app itself. But on macOS, most apps don’t ship an uninstaller, and Apple doesn’t provide a system-wide one either. Unlike Windows, where installers register with the OS and can be cleanly reversed, a macOS app is mostly just a self-contained bundle. Everything the app wrote outside that bundle while it ran (preferences, caches, saved data, license files, background helpers) stays exactly where it was, indefinitely, with no app left to claim or clean it up.

Individually these leftovers are small. Across years of installing and removing apps, they add up to a real amount of orphaned storage, often several gigabytes on a Mac that’s been in use for a while.

Where leftover files actually live

When you install and use a typical Mac app, it can write files to several places beyond its own .app bundle:

  • ~/Library/Preferences: a .plist file storing your settings for the app
  • ~/Library/Application Support: the app’s own data folder, sometimes tiny, sometimes gigabytes (databases, downloaded assets, project files)
  • ~/Library/Caches: temporary files, covered in depth in how to delete cache on Mac
  • ~/Library/Containers: for sandboxed apps (most Mac App Store apps), a self-contained folder holding everything the app is allowed to touch
  • ~/Library/Logs: diagnostic logs the app wrote while running
  • ~/Library/LaunchAgents: background helper processes some apps install to run at login, which can keep running even after the main app is gone

None of these are removed when you delete the app itself, because macOS has no registry connecting an app to the files it created. It’s purely a convention based on bundle identifiers and folder names.

The right way to uninstall

1. Quit the app completely before removing anything, including any menu bar helper or background process it left running.

2. Move the app to the Trash from /Applications, the normal way.

3. Find and remove its leftover files. This is the step almost everyone skips, because it means manually searching four or five different ~/Library subfolders for anything matching the app’s name or developer, tedious even when you know exactly what you’re looking for, and effectively impossible for apps you uninstalled a year ago and can barely remember installing.

4. Empty the Trash once you’ve confirmed nothing important was swept up by mistake.

Why step 3 matters more than it seems

Two concrete reasons to actually find leftover files rather than shrugging them off as “just a few KB of preferences”:

Size is one reason: some apps, especially anything that caches media, indexes files, or stores a local database (backup tools, media managers, some creative apps), leave Application Support folders in the hundreds of megabytes to multiple gigabytes, not the tiny preference file people assume.

Reinstall behavior is the other. If you reinstall the same app later, it may find its old preferences and cached data still sitting there and silently reuse them, sometimes exactly what you want, sometimes a source of confusing “why is my settings still like this” bugs if what you actually wanted was a clean slate.

Finding leftovers without hunting manually

Searching ~/Library by hand for files matching an app you uninstalled months ago is genuinely hard: file and folder names use the developer’s bundle identifier (com.developername.appname), which rarely matches the app’s display name closely enough to find with Spotlight.

This is exactly what OverClean’s Leftovers feature is built to solve. It scans Application Support, Caches, Preferences, Logs, Containers, and LaunchAgents specifically looking for orphaned files (folders and identifiers that don’t correspond to any app currently installed) and lists them so you can review and remove them in one pass, rather than opening each ~/Library subfolder individually and cross-referencing by hand.

Uninstalling apps you still have installed

If you’re removing an app you currently have (not hunting old leftovers), the Applications manager lets you see every installed app’s real size, including embedded frameworks and support files that Finder’s Get Info panel doesn’t count toward the app’s listed size, and remove it with admin rights support when needed, in the same pass as checking what it left behind.

Sandboxed apps vs. non-sandboxed apps

Not all apps leave the same footprint. Apps distributed through the Mac App Store are sandboxed: nearly everything they write goes into a single self-contained folder under ~/Library/Containers/<bundle-id>/, which makes cleanup comparatively simple since it’s one folder rather than four or five scattered ones. Apps distributed outside the App Store (downloaded directly from a developer’s website) are frequently not sandboxed, and can write to any of the locations listed above without the same containment, which is part of why leftover files tend to be messier and harder to fully track down for apps installed that way.

Does macOS have a built-in uninstaller at all?

Not a general one. A small number of Apple’s own apps and some third-party installers include a dedicated uninstaller package, but there’s no system-wide “Uninstall” command the way Windows has Add/Remove Programs. Dragging to Trash is the standard, expected way to remove a macOS app. It’s just an incomplete one by design, since Apple’s model assumes per-app support data is small enough not to matter. That assumption holds for a simple utility and breaks down for anything that caches media, syncs data, or maintains a local database.

A common mistake: deleting via Terminal without checking first

It’s possible to remove an app and hunt for its files entirely from Terminal (find ~/Library -iname "*appname*" is a reasonable starting search), but this approach has two real risks: partial bundle identifiers can match unrelated apps with similar names, and rm -rf on a mistaken match doesn’t ask for confirmation before permanently deleting whatever it matched. If you go this route, list matches first and review them before deleting anything, rather than piping a search directly into a delete command.

Get a clean uninstall in one pass

Between quitting the app, dragging it to Trash, and manually checking half a dozen ~/Library folders, doing this properly by hand takes real effort, which is exactly why most people don’t, and why leftover files accumulate for years.

Download OverClean for a free scan that shows your Dashboard and category overview at no cost. The Leftovers and Applications views that find and clean up orphaned app data are part of the paid tier. See pricing for details.