Merge one folder into another.
Safely. On your Mac.
The source version replaces the destination version. Simple and predictable — when you know the source is the truth.
Files with identical content (verified by MD5) are skipped. Files
with the same name but different content are copied alongside as
name-2.ext, name-3.ext, … The destination
never loses data, and re-running the same merge never creates
duplicates.
Put a template between source and destination —
${YEAR}/${MONTH}/${exif:camera-brand|Unknown}/… —
and photos file themselves by capture date and camera on the way through.
Per-token fallbacks are your call. Read the design note →
Preview every copy, skip, and rename before a single file is touched — with the exact names it would use.
Live scan counter, batched UI updates, and cancel that works at any phase. Volume metadata folders are skipped automatically.
Every action is logged per file. Filter by copied, overwritten, skipped, renamed, or failed to find the one file that differs.
English, 繁體中文, and 日本語 — switch anytime with ⌘, in Settings.
On the same APFS volume, copies are copy-on-write clones — instant, and they take no extra disk space.
Quick compares size + modified date and reaches for MD5 only when they disagree. Thorough hashes every file — your call for archival-grade verification.
The merge engine is pure, UI-free Swift with a full test harness covering conflicts, re-runs, and edge-case filenames.
SwiftUI, Apple Silicon native, no dependencies. One small .app bundle.
Not in MD5 mode — nothing in the destination is ever deleted or replaced. Conflicting files are copied alongside as name-2.ext, so both versions survive. Only the explicit “Always overwrite” mode replaces files, and you can preview it first with a dry run.
It runs the entire merge — scanning, comparing, conflict resolution — but writes nothing. You get the full per-file log with the exact names that would be used, so there are no surprises.
Quick compares size + modified date and uses MD5 only when they disagree; it's the right default and very fast. Choose Thorough when timestamps can't be trusted (camera cards, restored backups) or when verifying irreplaceable data — it hashes every file and catches silent corruption.
The source version is copied next to the destination's as name-2.ext (then name-3.ext, and so on). Re-running the same merge won't pile up duplicates — existing variants are content-checked first.
Yes. Merging within the same APFS volume uses copy-on-write clones — instant and space-free. Across drives it performs a regular copy.
No. It's sandboxed, has no network capability, no analytics, and only touches the folders you choose.