Mergic

Merge one folder into another.
Safely. On your Mac.

Two ways to handle conflicts

Always overwrite

The source version replaces the destination version. Simple and predictable — when you know the source is the truth.

MD5 check — never lose a file

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.

Built for real-world folders

🪄 Path modifier

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 →

🔍 Dry run

Preview every copy, skip, and rename before a single file is touched — with the exact names it would use.

🗂 Millions of files

Live scan counter, batched UI updates, and cancel that works at any phase. Volume metadata folders are skipped automatically.

📋 Filterable log

Every action is logged per file. Filter by copied, overwritten, skipped, renamed, or failed to find the one file that differs.

🌐 Three languages

English, 繁體中文, and 日本語 — switch anytime with ⌘, in Settings.

⚡️ Instant clones

On the same APFS volume, copies are copy-on-write clones — instant, and they take no extra disk space.

⚖️ Quick or Thorough

Quick compares size + modified date and reaches for MD5 only when they disagree. Thorough hashes every file — your call for archival-grade verification.

🧪 Verified engine

The merge engine is pure, UI-free Swift with a full test harness covering conflicts, re-runs, and edge-case filenames.

🍎 Native

SwiftUI, Apple Silicon native, no dependencies. One small .app bundle.

FAQ

Can Mergic ever delete or overwrite my files?

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.

What exactly does dry run do?

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 vs Thorough — which should I use?

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.

What happens when two files have the same name but different content?

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.

Does it work across different drives?

Yes. Merging within the same APFS volume uses copy-on-write clones — instant and space-free. Across drives it performs a regular copy.

Does Mergic send any data anywhere?

No. It's sandboxed, has no network capability, no analytics, and only touches the folders you choose.