Skip to content
Prompt Software
de

APP-04 · Folder compare and sync

DirCompare

Compare two folders side by side and sync them on your terms.

DirCompare

Both folders show as one aligned tree, coloured by status: identical, different, left only, right only. Compare by name, size, date or content, open a line-level diff, then plan a mirror, update or two-way sync and see it before anything moves.

What it does

  • 01

    Four ways to compare

    Names, size, size and date (with a tolerance and a fix for one-hour DST shifts), or byte for byte, in parallel.

  • 02

    See the sync before it runs

    Planned copies show as arrows and faded items, deletions as strikethrough. Execute shows a summary, and replaced files go to the Trash.

  • 03

    Real file diffs

    Side-by-side text diff with word highlights and a minimap of every change. Binaries get a hex view at the first differing byte.

  • 04

    Snapshots of a folder

    Save a .dirsnap, with SHA-256 checksums if you want, and compare it against the live folder next month.

  • 05

    Rules for matching names

    Ignore case or extensions, normalise Unicode, or rewrite names with a regex so report_v2 pairs with report_v3.

  • 06

    Keyboard and command line

    ⌘R compares, ⌘1 to ⌘4 filter, ⌘↩ runs the plan. open -a DirCompare --args --left A --right B starts a comparison from a script.

What it doesn't do

  • Sync plans are only planned from the command line. You still press Execute in the app.
  • Comparing over the network works as fast as the share does.

Requirements

  • macOS 14 or later
  • Xcode 16 or the Swift 6 toolchain to build

Network access

None. The app makes no network requests.

Title block

Sheet
APP-04
Version
1.0.0
Minimum macOS
14.0
Code
Swift · Shell
Lines
4,353
Test cases
20
Last build
25 Oct 2026
License
MIT
Bundle ID
local.dircompare.app
Repository
dir-equal

Line log

  1. 37055a7

    Add MIT license and release script

  2. 70009ed

    Initial commit: DirCompare folder comparison app for macOS

Cookies

This site needs no cookies to work. With your consent it loads Google Analytics to count visits.

Privacy policy