Duplicates: find identical files and keep one of each
Duplicates compares the files MacClearings scanned by size, then by their first and last 64 KB, then by a full SHA-256 hash. You choose which copy to keep, and at least one copy of every file always stays.
$12.50 launch price for the first 25 buyers, then $25.
macOS 15+ · Apple silicon and Intel

- Byte for byte, in three steps
- Same size first, then the same first and last 64 KB, then the same SHA-256 hash of the whole file. Only files with identical contents end up in a group.
- One copy always stays
- You can't select every copy in a group, and if every copy reaches the Cleanup tray some other way, MacClearings unstages one before anything moves.
- Keep newest, oldest or a folder
- Pick one rule for every group at once, or tick and untick copies by hand. The copy being kept is marked Keep.
- Clones and hard links left out
- APFS clones and hard links already share their storage, so moving one would free nothing. They're never reported as duplicates.
- Build output tagged
- Copies inside build, .build, DerivedData, .next and .gradle folders are tagged Build output, because building the project again recreates them.
How it compares files
Duplicates works from your latest scan, so start by scanning your home folder or any folder. Click Find Duplicates and MacClearings compares files in three passes:
- Files of the same size are grouped. Everything else is set aside.
- Within each group, the first and last 64 KB are compared.
- Files that still match are hashed with SHA-256, the whole file, so only identical contents remain.
Comparing only reads. By default it looks at files of 1 MB or more; Settings → Cleanup can lower that to 100 KB or raise it to 100 MB. Apps, libraries and system files are never included: Duplicates skips app data in Library, the insides of apps and packages like a Photos library, symbolic links, and cloud files that haven't been downloaded.
In the screenshot, Duplicates found 2,425 groups holding 17.3 GB of extra copies if one of each is kept. The first group is a 28.8 MB file with 16 copies across different project folders.
Choosing what to keep
The menu at the top sets the rule for every group at once:
- Keep Newest keeps the most recently modified copy and selects the rest.
- Keep Oldest does the opposite.
- Keep Copies in Folder… asks for a folder and keeps the copy inside it. Groups with no copy in that folder fall back to keeping the newest.
Each group lists every copy with its path and modification date. The copy being kept is marked Keep. Tick or untick any copy to change it, and use the eye button to open Quick Look. If you try to select the last copy in a group, MacClearings stops you: "One copy always stays. Select another copy to keep first."
Copies inside build, .build, DerivedData, .next and .gradle folders are tagged Build output. In the screenshot, two copies of a 393 MB Flutter library sit in the build folders of two projects. Building either project again makes it again. If you work with build folders often, the project build artifacts rule in Suggestions handles whole folders instead of single files.
Why clones and hard links aren't duplicates
On an APFS disk, copying a file can make a clone: a second file that shares the same storage until one of them changes. A hard link is a second name for the same file. In both cases, the extra copy takes almost no space, so moving it to the Trash would free nothing. Duplicates checks for both and leaves them out. Hard links are also counted once in the Map, so its sizes stay honest.
From selection to the Trash
The footer shows what's selected, for example "3,822 copies selected · 17.3 GB", and whether those copies are in the Cleanup tray yet. Add to Cleanup stages them. Review & Clean Up… stages them and opens the review list in one step. Nothing moves until you confirm.
When you choose Move to Trash, MacClearings checks once more that at least one copy of every file stays. If every copy of a file got into the tray some other way, say one from Find and the rest from here, it unstages one and tells you. Each copy is also checked for changes since it was measured, and skipped if it's open in an app.
The copies go to the Trash, and every cleanup can be undone from History while they're still there. The space comes back when you empty the Trash yourself. The safety page explains each check.
Photos and other libraries
The insides of a Photos, Music or iMovie library are left out, and MacClearings never picks those libraries apart. For photos, use the Duplicates album in the Photos app, which merges copies inside the library the way Photos expects.
Guides
- How to free up space on your MacFree up space on a Mac or MacBook with the tools macOS already has: Storage recommendations, the Trash, Downloads, unused apps and old backups.
- How to find large files on your MacFind large files on a Mac with Finder's File Size search, the Storage settings lists and Terminal's find command, then check each file before it goes.
- Mac storage full? What to do when your disk is almost fullYour Mac says its disk is almost full. What to check first in System Settings, the quickest safe ways to get space back, and why Mac storage keeps filling up.
Questions about Duplicates
Does macOS have a built-in duplicate file finder?
Not for files in general. Photos has a Duplicates album for photos and videos in your Photos library, and Finder can search by name or sort by size, which helps you spot copies by hand. A duplicate file finder compares the contents, so it also catches copies with different names.
How does MacClearings know two files are identical?
It groups files of the same size, compares their first and last 64 KB, and then compares a SHA-256 hash of each whole file. Files only end up in a group when every byte matches. Comparing only reads the files; nothing is changed.
Can I lose a file by removing duplicates?
MacClearings always keeps at least one copy of every file, and it checks that again right before cleanup. The copies you choose go to the Trash, not away for good, and Undo in History puts them back while they're still in the Trash.
Why aren't duplicates in my Photos library shown?
Duplicates leaves out the insides of packages like a Photos library, along with apps and app data in Library. Picking a library apart would damage it. Use the Duplicates album in Photos for those.
Why are some copies tagged Build output?
They sit inside a folder a build tool makes, like build, .build, DerivedData, .next or .gradle. Building the project again recreates them, so they're usually the copies you don't need to keep.
Find out what's filling your Mac.
MacClearings explains your disk in plain words and moves only what you review to the Trash, with Undo. Paid once, every update included.
$12.50 launch price for the first 25 buyers, then $25.
macOS 15+ · Apple silicon and Intel