MacMerge
MacMerge icon

MacMerge

Compare files and folders side by side, see exactly what changed, and merge with a keystroke. Free and open source, inspired by WinMerge.

macOS 14 or later · Apple silicon and Intel · MIT License

Side-by-side file comparison with differences within lines
Side-by-side file comparison with differences within lines

Built for the way you compare

Everything you know from WinMerge, as a native Mac app.

Side-by-side compare

Aligned panes, colored differences, differences within lines, and a map of where every change is.

Merge with a keystroke

Copy a difference left or right with ⌥← / ⌥→, edit in place, undo, and save.

3-way merge

Compare your version, the base and theirs. Auto merge takes every one-sided change and leaves only real conflicts.

Git conflict files

Open a file with <<<<<<< markers and resolve it in three panes. Works as git difftool and git mergetool.

Folder compare

Compare whole folders, filter by result or file mask, copy or trash files, and detect renamed or moved files.

Ignore what doesn't matter

Ignore whitespace, case, blank lines, line endings, or lines matching a regular expression.

Reads Japanese and more

Detects UTF-8, UTF-16, Shift_JIS and EUC-JP, and LF/CRLF/CR, and saves files back the way they were.

Focus on the changes

Show only a few lines around each difference, wrap long lines, and color the syntax of common languages.

Reports and patches

Export an HTML report or a unified patch, print a comparison, and save comparisons as project files.

Three-way merge

Blue changes were made on one side only and can be merged automatically. Yellow changes are conflicts for you to decide.

Open the conflict files Git leaves behind, or let git mergetool start MacMerge for you.

Three-way merge: one-sided changes in blue, a conflict in yellow
Three-way merge: one-sided changes in blue, a conflict in yellow

Folder comparison

See which files are identical, different, or on one side only, as a tree or a flat list.

Copy files across, move them to the Trash, or zip them up. Renamed and moved files are paired automatically.

Folder comparison with renamed files detected
Folder comparison with renamed files detected

Install

macOS 14 or later · Apple silicon and Intel · MIT License

  1. Download MacMerge.dmg.
  2. Open it and drag MacMerge to the Applications folder.
  3. Start MacMerge from Applications or Spotlight.

Use with Git

Set MacMerge as your diff and merge tool:

git config --global difftool.macmerge.cmd \
  '/Applications/MacMerge.app/Contents/MacOS/MacMerge "$LOCAL" "$REMOTE"'
git config --global mergetool.macmerge.cmd \
  '/Applications/MacMerge.app/Contents/MacOS/MacMerge "$LOCAL" "$BASE" "$REMOTE" "$MERGED"'
git config --global mergetool.macmerge.trustExitCode false

git difftool -t macmerge
git mergetool -t macmerge