Peel: A free, open source uninstaller and cleaner for macOS

Lobsters Hottest Products

Summary

Peel is a free, open source macOS uninstaller and cleaner that finds leftover app files with explanations for each match, plus extra features like disk usage overview, settings management, and Terminal setup. It supports macOS Tahoe 26 or later on Apple silicon and Intel, ships via Homebrew cask, and requires no ads, accounts, or analytics.

<p>A mostly AI generated tool that doesn't seem to be slop, but actually useful (and beautiful). See <a href="%5Dhttps://github.com/TuguiDragos/Peel/blob/main/memorial/README.md" rel="ugc">How Peel was made</a>.</p> <p><a href="https://lobste.rs/s/ejwkof/peel_free_open_source_uninstaller">Comments</a></p>
Original Article
View Cached Full Text

Cached at: 10/28/26, 11:28 AM

# Peel: Uninstall Mac apps completely Source: [https://peel.tuguidragos.com/](https://peel.tuguidragos.com/) ![Peel’s icon: an orange sticker with its corner peeled back](https://peel.tuguidragos.com/images/peel-icon-256.webp) And see why every file belongs to them\. A free, open source uninstaller and cleaner for macOS, which also fine\-tunes your Mac and sets up Terminal\. macOS Tahoe 26 or later · Apple silicon and the Intel Macs macOS 26 supports Signed by Dragos\-Constantin Tugui \(6R6J264YA2\) and notarized by Apple `brew install \-\-cask tuguidragos/tap/peel` ![Peel’s Home: this Mac’s chip, memory, macOS version, and free space, what Peel has moved to the Trash so far, and which permissions are on](https://peel.tuguidragos.com/images/peel-home-1200.webp) **Dragging an app to the Trash leaves pieces of it behind\.**Caches, settings, containers, launch agents, and support files, scattered across your Library, sometimes gigabytes of them\.**Peel finds what an app left, tells you why each file belongs to it and how sure it is, and moves what you choose to the Trash\.** ## Get the highlights\. ### Free and open source\. No paid edition, no ads, and no account\. Nobody can take Peel, close it, and sell it as their own\. ### Almost everything can come back\. What Peel removes goes to the Trash, and History puts it back where it was\. The few exceptions are named before you confirm\. ### In your language\. English and 17 other languages, in the words macOS itself uses\. ### Mac settings, in plain sight\. Settings macOS already has, many of them out of sight, each one explained\. ### Terminal, set up\. 29 dark themes, a prompt, and switches for settings zsh, Git, and ssh already have\. ### No analytics\. No account\. On its own, Peel goes online only to check your apps, and itself, for updates, and you can turn that off\. ### Apple silicon and Intel\. On every Mac that runs macOS Tahoe 26 or later, and every release is tested by hand before it ships\. Uninstall ## Every leftover\. With a reason\. Peel searches the places apps keep files, and gives each one the reason it matched,**such as the app’s bundle identifier, its signing team, or a Homebrew cask that names it\.** ![Peel uninstalling Obsidian: the app, what it left in Application Support, caches, and preferences, and the command Homebrew linked to it, each with its kind and size](https://peel.tuguidragos.com/images/peel-uninstall-1200.webp)- ### Selected with care\. What Peel finds to be the app’s alone is selected for you, unless it has a reason to hold it back, such as something inside that may exist nowhere else\. A file another app also uses is shown, but never selected for you\. - ### Review Before Removing\. What Peel is less sure of, what another app also uses, and what Peel holds back wait there, and the note beside each file says why\. - ### Several ways in\. Choose an app in the list, drop one on Peel’s Dock icon, or Control\-click it in Finder and choose Uninstall with Peel, once the Finder extension is on in System Settings\. - ### Reset instead of remove\. Make an app forget its settings without uninstalling it\. Peel copies them first, so you can put them back\. - ### Updates for your apps\. Peel checks each app through its own update feed, the App Store for apps bought there, or Homebrew for apps it installed, and shows what’s new\. - ### Watch the Trash\. Turn it on and allow its notifications\. While Peel is open or in the menu bar and has Full Disk Access, an app you drag to the Trash yourself brings a notification that takes you to what it left behind\. --- Space ## See what fills your disk\. How full your disk is, then the places that take the most room, each with a note on what it is\.**What you select stays selected while you look at the other pages**, iCloud Drive aside, and Move to Trash moves it all at once, as one entry in History\. ![Peel’s Space page: how much of the disk is free and used, the areas of your Library with their sizes, and Hidden App Caches open, with what it is and the caches inside it](https://peel.tuguidragos.com/images/peel-space-1200.webp)- ### Orphaned Files Files left behind by apps you already removed, which no app on this Mac claims\. What only an administrator can remove is listed apart, with how to remove it in Finder\. - ### Build Artifacts What builds left in your projects, like`node\_modules`,`DerivedData`, or`target`, each only when its tool’s own file proves it\. Turn it on in Settings \> General \> Sidebar\. - ### Duplicates Files and whole folders with identical contents, compared with SHA\-256\. One copy is always kept\. - ### Installers and Backups Disk images and packages in Downloads, Desktop, Documents, Public, and Shared; macOS installers; device firmware; unfinished downloads; and updates waiting to install\. Your iPhone and iPad backups are listed with their size once Peel has Full Disk Access, and never moved\. Nothing is selected for you, and a disk image may be one you made, so look before you select it\. - ### iCloud Drive Files already safe in iCloud that are also downloaded to this Mac\. Remove Downloads takes away only the copy on this Mac\. - ### File Search Large or old files, found through Spotlight by name, kind, or size, and narrowed by age\. Developer ## Caches, folder by folder\. What each of your developer tools keeps\.**Nothing is selected for you**, Select Recommended passes by what you may want again, and toolchains or anything holding an account are never listed\. - Xcode - Package managers - Build systems - Editors - Browsers - Cloud tools - Virtual machine tools - Game engines - AI models ![Peel’s Developer page: the tools whose caches it found, largest first, and npm open, with its four folders selected](https://peel.tuguidragos.com/images/peel-developer-1200.webp) System ## Look after your Mac\. See what runs in the background and, where Peel can tell, which app added it\. Find what still needs Rosetta, and**keep Homebrew up to date, clean, and checked for known vulnerabilities\.**Background Items, Extensions, Plug\-ins, and Intel Software start turned off in the sidebar: turn them on in Settings \> General \> Sidebar\. - Background Items - Extensions - Plug\-ins - Package Receipts - Intel Software - Homebrew ![Peel’s Homebrew page: its maintenance buttons, the formulae with known vulnerabilities, and the packages with updates waiting](https://peel.tuguidragos.com/images/peel-homebrew-1200.webp) --- Tweaks ## Small tricks\. A little easier every day\. 40 settings macOS already has, many of them out of sight\.**Each tweak says what it changes**, and turning it off puts back what was there before, or leaves it to macOS\. - Dock - Screenshots - Finder - Typing - Windows - Privacy ![Peel’s Tweaks page, on Screenshots: no floating thumbnail, where screenshots are saved, no shadow around a captured window, and more, each with its own control](https://peel.tuguidragos.com/images/peel-tweaks-1200.webp) Terminal ## Set up Terminal\. Choose a theme and a prompt, and turn on settings zsh, Git, and ssh already have,**each with its own switch\.**There are 29 dark themes, all built on Apple’s own Clear Dark\. The Terminal page starts turned off in the sidebar: turn it on in Settings \> General \> Sidebar\. ![The Hadal theme in Terminal](https://peel.tuguidragos.com/images/terminal-hadal-1200.webp) Hadal - ### Themes Choose one, and Terminal opens with it in every new window\. Put Back gives Terminal the profile it had before\. - ### Terminal Leave out the “Last login” line, keep Terminal from reopening its windows, and in the Peel theme you use, make Option the Meta key and silence the bell\. - ### Shell Use Peel’s prompt or keep the one you have, and turn on what zsh already has, like history shared between windows\. - ### Git Turn on what Git already has, like rebase when pulling\. Turn All Off puts back what Peel changed, and returns the settings on this tab that you set yourself to Git’s defaults\. - ### SSH Keep connections alive, and more of what ssh already has, each with a switch\. - ### Tools Command\-line tools worth having, with the Homebrew command and what each needs after, such as the lines to add to`~/\.zshrc`\. [See every theme and setting](https://github.com/TuguiDragos/Peel/blob/main/TERMINAL.md) ## A cleaner should never cost you something you wanted\. **Nothing of yours is deleted without asking first\.**What Peel removes goes to the Trash, and History puts it back where it was\. ![Peel’s History: Godot with its app, caches, support folder, and the command Homebrew linked to it, moved to the Trash yesterday, each item ready to put back](https://peel.tuguidragos.com/images/peel-history-1200.webp)- ### The Trash, never deletion\. Only four things Peel starts can’t be put back that way: Homebrew’s own uninstall and cleanups, resetting an app’s privacy permissions, and Force Quit for an app that won’t quit\. Peel says so before you confirm them, and warns before it moves an app whose own uninstaller then deletes more, as Mullvad VPN, Citrix Workspace, and TeamViewer do\. - ### Protected places stay protected\. Peel refuses to move iCloud Drive and anything else that syncs to your other devices, keychains, your SSH and signing keys, the keys of crypto wallets, Mail, Messages, Safari, Contacts, Calendars, Notes, photo and music libraries, iPhone and iPad backups, and the Desktop, Documents, and Downloads folders themselves\. No selection can override it\. - ### Crypto wallets stay where they are\. A browser profile holding a wallet extension Peel knows, or Brave’s own wallet, stays where it is, so uninstalling a browser never takes the wallet with it\. A folder with a wallet’s file inside is shown with its reason and never selected for you\. - ### Checked again at the last moment\. Peel looks at each item once more right before it moves, so something swapped in the meantime stays where it is\. - ### Your exclusions, everywhere\. Nothing you exclude is ever moved, and neither is a folder holding something you excluded\. An excluded app still appears in Applications but gets no removal plan, and the folders named with its identifier, such as its caches, leave every page\. To keep its other files, exclude them too\. - ### Every decision explained\. When Peel holds a file back, the row says why\. A folder it couldn’t measure or read is shown as unknown, never as empty\. [Read everything Peel protects](https://github.com/TuguiDragos/Peel/blob/main/SAFETY.md) Check it yourself ## Don’t take it on trust\. Check it\. Every release is signed with my Developer ID and notarized by Apple,**every line is on GitHub**, and a security problem has a private way in\. - ### Signed and notarized\. Every copy I release is signed Developer ID Application: Dragos\-Constantin Tugui \(6R6J264YA2\) and notarized by Apple\. In Terminal,`spctl \-a \-vv`followed by the app’s path shows both\.[How to check your copy](https://peel.tuguidragos.com/#real-copy) - ### A release’s files can’t change once it ships\. Each release on GitHub is immutable: its files can’t be replaced after it is published, and GitHub’s`gh release verify\-asset`checks the disk image you downloaded against it\. - ### A helper with one job\. Only what needs an administrator goes through Peel’s helper, which you allow once in Login Items & Extensions\. It answers only my signed Peel and only administrators, serves a fixed list of folders, has no shell, and keeps its own record of what it moves, so it puts back only what it took\. - ### Open source, every line\. Peel is free software under the GNU GPL, version 3 or later, and all of it is on GitHub, the helper included\. - ### Security problems, reported privately\. Use[Report a vulnerability](https://github.com/TuguiDragos/Peel/security/advisories/new)on the repository’s Security tab, or email[contact@tuguidragos\.com](mailto:[email protected]?subject=Peel%20security)with “Peel security” in the subject\. The aim is to acknowledge your report within two working days, and the security policy says what happens next\. [Read the security policy](https://github.com/TuguiDragos/Peel/blob/main/SECURITY.md) --- Privacy ## No analytics\. No account\. On its own, Peel goes online only to check your apps, and itself, for updates, and you can turn that off\.**Each check asks about one app alone**, through its own update feed or the App Store, and doesn’t send its version, your macOS, or your languages; the App Store is told only a country, the country of the store an iPhone or iPad app came from, or else your Mac’s region\. Taken together, the checks show the App Store which of its apps you have, and GitHub which of your apps update through it\. When a feed offers its release notes in several languages, Peel asks for the one in your language, so the server that keeps them can tell which language you read\. Homebrew goes online only when you ask it to\. Its vulnerability scan, which you start yourself, is the one thing that sends a list of what is installed: the source and version of each formula, to api\.osv\.dev\. Settings \> Privacy shows what Peel sends, and every address it or Homebrew may contact\. [Read what Peel sends](https://github.com/TuguiDragos/Peel/blob/main/PRIVACY.md) ![Peel’s Settings, on Privacy: what Peel sends, and every address Peel or Homebrew may contact, with the reason for each](https://peel.tuguidragos.com/images/peel-privacy-1200.webp) --- The peel command ## Much of Peel, from Terminal\. The command ships inside the app: Settings \> General shows the Terminal command that puts it on your path, and a Homebrew install puts it there for you\. Every command that moves your files asks first, and takes`\-\-dry\-run`to only show the plan\.**What it moves goes through the same checks as in the app, into the same History\.** `peel leftovers Obsidian`\# the files an app leaves behind, and why`peel uninstall Obsidian \-\-dry\-run`\# only show the plan`peel orphans`\# files of apps no longer installed`peel duplicates ~/Downloads`\# identical files and folders`peel history`\# what Peel moved to the Trash`peel restore <id\>`\# put one of them back Languages ## Speaks 18 languages\. Peel uses the first language in your Mac’s list that it speaks,**in the words macOS itself uses in that language\.** - English - Română - Deutsch - Français - Español - Português \(Brasil\) - Italiano - 日本語 - 简体中文 - 繁體中文 - Nederlands - 한국어 - Русский - Polski - Türkçe - Svenska - Čeština - Українська --- ## Questions\. What is Peel?Peel is a free, open source app for macOS that uninstalls apps together with the files they leave behind, and tells you why each file belongs to the app\. It also frees disk space, looks after Homebrew and what runs in the background, changes settings macOS already has, many of them out of sight, and sets up Terminal\. How do I completely uninstall an app on a Mac?Open Peel, choose the app under Applications, look over what Peel found, and click Move to Trash\. The app and its leftovers go to the Trash together, and History can put them back\. You can also Control\-click the app in Finder and choose Uninstall with Peel, once the Finder extension is on in System Settings\. Can Peel delete something I need?Peel moves files to the Trash instead of deleting them, and History can put them back while they’re still there \(it keeps the latest 20,000 items, fewer when their paths are very long\)\. What can’t be undone, such as Homebrew’s own uninstall, Peel names before you confirm it\. It never selects a file another app uses, and refuses to move iCloud Drive, your keychains, Mail, Messages, and photo libraries\. Why does Peel show a smaller size than Finder?Peel shows what moving an item to the Trash would free, and Finder shows the space it takes\. The two differ when files share their space: a copy Finder makes on an APFS disk shares its blocks with the original until one of them changes, and a file can have a second name somewhere else, which keeps it\. Peel counts only what would really go\. A virtual machine’s disk, such as Docker’s, is often a sparse file too: Finder shows the size it can grow to, and Peel what it takes on the disk now\. When is the space Peel frees really free?Once you empty the Trash\. Peel moves what it removes to the Trash and never empties it, so History can put anything back while it’s still there, and until then the space stays taken\. When you’ve looked over what moved, in History or in the Trash, and you need none of it, choose Finder \> Empty Trash\. After that, nothing can be put back\. If you’d rather macOS empty it for you, choose Finder \> Settings, click Advanced, and select Remove items from the Trash after 30 days\. Why does Peel ask for Full Disk Access?macOS keeps other apps’ data, and the Trash, out of sight of any app without it\. Peel works without it, but can’t see everything an app leaves behind\. Does Peel collect any data?No\. Peel has no analytics and no account\. On its own, it goes online only to check your apps, and itself, for updates, which you can turn off\. Homebrew goes online when you ask it to do something\. Is Peel really free?Yes\. Peel is free and open source under the GNU General Public License, version 3 or later, with no paid edition, no ads, and no account\. Can I install Peel with Homebrew?Yes\. Run`brew install \-\-cask tuguidragos/tap/peel`in Terminal\. It installs the same app as the download on this page, from the same release on GitHub, and puts the`peel`command on your path\. How do I update Peel?Choose Check for Updates in the Peel menu, or Install Update in About Peel when it says a new version is out\. While Check for app updates is on, Peel also looks once a day\. It shows what is new and installs the update only when you choose, once it has checked that the update is signed as Peel’s\. A copy Homebrew installed updates the same way, and`brew upgrade \-\-cask peel`updates it too\. How do I know my copy of Peel is the real one?Run`spctl \-a \-vv /Applications/Peel\.app`in Terminal\. A copy I released answers`accepted`, with`source=Notarized Developer ID`and`origin=Developer ID Application: Dragos\-Constantin Tugui \(6R6J264YA2\)`\. If it answers`invalid API object reference`, there is no app at that path: put the path of your copy instead\. If it names anyone else, or isn’t accepted, it didn’t come from me: move it to the Trash and download Peel again from[github\.com/TuguiDragos/Peel](https://github.com/TuguiDragos/Peel)\. Before you open the file you downloaded, GitHub’s`gh`tool can check it against its release: once you’re signed in with`gh auth login`,`gh release verify\-asset v1\.0\.1 ~/Downloads/Peel\-1\.0\.1\.dmg \-R TuguiDragos/Peel`\(with your version and where your file is\) answers`Verification succeeded\! Peel\-1\.0\.1\.dmg is present in release v1\.0\.1`\. Does Peel work on Intel Macs and older versions of macOS?Peel runs on macOS Tahoe 26 or later, on any Mac that runs it: every Mac with Apple silicon, and the few Intel Macs from 2019 and 2020 that[Apple lists for macOS 26](https://support.apple.com/en-us/122867)\. It doesn’t run on earlier versions of macOS: each version moves where apps keep their files, so every release is tested by hand before it ships, on macOS 26 and every version since\. How do I uninstall Peel itself?In Settings \> General, choose Remove Peel\. Peel removes its helper and its login item, then moves itself, the files that are certainly its own, and its folder in Application Support, all but the Terminal settings zsh and ssh read, to the Trash, and clears its settings\. While the helper is installed, this needs an administrator’s account\. What you set in Tweaks and on the Terminal page stays as it is\. If you installed it with Homebrew, Settings shows the Homebrew command to run instead\. ![](https://peel.tuguidragos.com/images/peel-icon-256.webp) ## Get Peel\. Free and open source, under the GNU General Public License\. Open the disk image and drag Peel into your Applications folder\. macOS Tahoe 26 or later · Apple silicon and the Intel Macs macOS 26 supports `brew install \-\-cask tuguidragos/tap/peel` [Sponsor on GitHub](https://github.com/sponsors/TuguiDragos)**Peel is published in one place only:[github\.com/TuguiDragos/Peel](https://github.com/TuguiDragos/Peel)\.**Every download on this page leads there\. The Homebrew command on this page is the only command that installs Peel, so a site that asks you to paste anything else into Terminal to get Peel is not mine\. Any other site, download page, or store offering Peel is not mine, and what it gives you may not be the app I build and sign\. Peel is free, so anyone asking you to pay for it is not me\.

Similar Articles

The app you need to clean up your computer

The Verge

This article from The Verge's Installer newsletter recommends the Mole app for cleaning up Mac computers, along with other utilities like Bartender Pro and the PowerClip dongle.

De Stash

Product Hunt

De Stash is a native macOS app that visualizes your entire drive as an interactive map and helps you safely clean up storage, find duplicates, and uninstall apps with leftover files, all 100% locally with no tracking.

AppZapper 3000

Product Hunt

AppZapper 3000 is a macOS application that helps users uninstall apps and delete associated files with a fun 3D interface, launched on Product Hunt.