A group is a proof of identity
Every file in a group produced the same full-content BLAKE3 hash. Names, folders, dates, permissions and tags played no part in it.
A duplicate file, in DuoBolt, means one thing: the contents are identical, byte for byte. Not a similar name, not the same size, not a matching date. That definition is what makes the results safe to act on, and everything on this page is in service of reaching it without reading your whole disk.
For photos that merely look alike, that is a different question with a different engine — see how grouping works.
Walk and admit
DuoBolt walks the folders you chose and decides what is even eligible:
regular files only, inside the size range, past the system/hidden rules and
the extension filter. Files under folders whose extension you excluded
(.app, .photoslibrary) are pruned with their whole subtree.
Partition by size
Files are bucketed by exact byte length, and any size with only one file is dropped immediately. Two files of different sizes cannot be identical, so the overwhelming majority of a disk is eliminated here — without a single byte being read.
Prehash the head and tail
For each surviving bucket, DuoBolt hashes the first and last 128 KiB of each file and compares those. Files whose ends differ cannot be duplicates, and are dropped without ever being read in full.
On network volumes this deliberately weakens to a 4 KiB head-only read — round-trips cost more than reads there, so more candidates are allowed through to the next stage instead.
Hash in full with BLAKE3
Only what survives is read end to end and hashed with BLAKE3, streamed in chunks sized to the file — 128 KiB for small files up to 16 MiB for anything over half a gigabyte.
Group
Files sharing a full-content hash become a group. A group needs at least two files to exist at all, paths are sorted, and groups are ordered by how much space they actually waste.
The prehash is a speed optimization only. Turning off Two-stage scan changes how long a scan takes, never what it finds.
A group is a proof of identity
Every file in a group produced the same full-content BLAKE3 hash. Names, folders, dates, permissions and tags played no part in it.
Reclaimable is not group size
A group of five 4 GiB files does not free 20 GiB — it frees 16, because one copy stays. On macOS it may free less still, if some of those copies are APFS clones.
Being straight about the edges is more useful than a perfect-accuracy badge.
app and photoslibrary, and keep
Detect APFS clones on so shared storage is not counted as free space.Next
Setting up a scan — every control in Scan parameters and what its default is.
Then
Reading the results — filters, sorts, and the two numbers in the footer.