How to check a copy matches the original on a Mac

Updated 8 October 2026

Finder copies files but does not offer a way to check the copy against the original. If you are about to format a camera card or delete the only other copy, it is worth checking. macOS already has the tools; here is how to use them.

1. Compare two folders byte by byte with diff

The simplest check. It reads every file on both sides and reports any that differ, and any that exist on only one side.

diff -rq /Volumes/CARD/DCIM /Volumes/Backup/Shoot-2026-10-08

No output means the two folders match. -r goes into subfolders and -q prints one line per difference instead of the contents. Both sides must be readable at the same time, so this works for card-to-drive copies but not for checking a copy later against a source you no longer have.

2. Make a checksum list and check against it with shasum

Useful when the source is going away (a card you will format) or the copy will be checked later on another machine.

cd /Volumes/CARD/DCIM
find . -type f -exec shasum -a 256 {} + > ~/card.sha256

cd /Volumes/Backup/Shoot-2026-10-08
shasum -a 256 -c ~/card.sha256

The second command prints OK or FAILED for each file. Keep the .sha256 file with the backup and you can re-check it in a year. It does not notice extra files that exist only at the destination.

3. Ask rsync which files differ, without copying

rsync -acnv /Volumes/CARD/DCIM/ /Volumes/Backup/Shoot-2026-10-08/

-c compares full-file checksums instead of size and date, -n is a dry run so nothing is copied, and -v lists the files that would change. An empty list means the contents match. Since macOS 15 the built-in rsync is Apple's openrsync, so stick to these common options.

ditto and cp copy but do not verify. Copy first, then run one of the checks above.

When an app is easier

The commands are free and reliable, but they are a second step you have to remember after every copy. Harbour builds the check into the copy for removable and network destinations: each file is hashed at the source and again after writing, a mismatch fails that file and removes the bad copy, and the result stays in the Activity log. See how Harbour compares with Finder and ForkLift.

Sources

Checked 8 October 2026.