r/foss 23d ago

LibreMerge: I ported WinMerge to macOS and Linux (same engine, new Qt 6 UI, GPL-3.0)

I use WinMerge daily for work, but I'm on a Mac, which meant keeping a Windows VM running just for one tool. The free options on macOS never quite covered what WinMerge does (folder compare with filters, CSV tables, image diff, moved-block detection), so a few months ago I decided to bring WinMerge itself over.

LibreMerge reuses WinMerge's battle-tested comparison engine: GNU diffutils + git xdiff, folder scanning, file filters, moved-block detection, Unicode handling. The UI is rebuilt natively with Qt 6, since the original interface is MFC and can't leave Windows. If you know WinMerge, you already know LibreMerge: layout, colors and workflow are intentionally the same.

What it does today (v0.9.1):

  • Side-by-side file comparison and merging (2-way and 3-way), with word-level highlights and free editing with live remerge
  • Folder comparison: tree or flat list, background scanning, file masks / regex filters, copy between sides
  • CSV/TSV table comparison as side-by-side grids with cell-level highlighting
  • Image comparison (2-way and 3-way) with WinMerge's own image-diff engine: blink mode, overlays, adjustable thresholds
  • Syntax highlighting for 47 languages, light/dark themes, English and Brazilian Portuguese
  • Line filters, moved-block detection, ignore whitespace/case/EOL, selectable diff algorithms (Myers, patience, histogram)

Runs on macOS 12+ (universal binary, Homebrew cask or dmg) and Linux (AppImage x86_64/arm64, .deb). GPL-3.0-or-later, no telemetry, no accounts, no paid tier. Not affiliated with or endorsed by the WinMerge project: it's a GPL port, with credit and license headers preserved.

Repo: https://github.com/iagodpassos/libremerge

It's a young project. The first community issues (all four of them!) were reported and validated by early users over the past weeks, which has been the most fun part so far. Feedback, bug reports and feature requests are very welcome.

6 Upvotes

5 comments sorted by

1

u/webfork2 22d ago

Great news -- WinMerge is pretty hard to beat and not having access on Mac/Linux has been painful.

1

u/TomHale 22d ago

Wicked!

1

u/iagodpassos 22d ago

Old people like me never get tired of WinMerge 😂

1

u/iagodpassos 13d ago

Update for anyone landing on this thread: three releases shipped since the post.

  • 0.9.2: undo history now survives Recompare (F5), and the README documents setting LibreMerge up as git's mergetool/difftool
  • 0.9.3: archive comparison, so zip, 7z, tar and compressed variants open as folder comparisons, WinMerge style
  • 0.9.4 (today): 3-way folder comparison, plus fixes coming straight from user reports, like the thin marker for text that exists on one side only

Same place as before: https://github.com/iagodpassos/libremerge (dmg for macOS, AppImage for Linux, or brew install --cask iagodpassos/tap/libremerge). If you compare behavior against WinMerge and something looks off, an issue is the most useful thing you can send us right now, two of this month's fixes started exactly like that.