What can Meld compare and merge?
Updated
Meld compares and merges three kinds of things: individual files, whole directories, and version-controlled projects. It supports both two-way and three-way comparison for files and directories, and it integrates with Git, Mercurial, Bazaar, and Subversion. If you need to review code changes, understand a patch, or work through a merge you've been putting off, Meld is built for exactly that. The sections below cover what each comparison mode actually does so you can decide which one fits your task.
File comparison
Meld compares, edits, and merges files with live comparison updates — the view refreshes as you type, so you see the effect of an edit immediately.
What you can do in a file comparison:
- Navigate between changes and operate on change blocks, so you move from one difference to the next instead of scrolling and hunting.
- Apply simple text filtering to ignore differences you don't care about, which keeps the view focused on changes that matter.
- Use three-way merge assistance with conflict handling and base version display when you're merging changes from two sources against a common ancestor.
This is the mode to reach for when you have two versions of a file (or three, in a merge) and need to see line-by-line what differs and decide what to keep.
Folder comparison
Directory comparison identifies and manages missing or modified files across folders. Instead of opening files one at a time, you get an overview of how two directory trees differ.
Two things make this useful in practice:
- Drill down into a file comparison from the folder view, so you can go from "these files differ" to "here's exactly how" without switching tools.
- Ignore certain files or folders to filter out noise — build artifacts, caches, generated files — so the comparison reflects the changes you actually care about.
Use this when you're comparing two copies of a project, checking what changed between a working copy and a backup, or auditing a directory before syncing it.
Version control projects
Meld supports Git, Mercurial, Bazaar, and Subversion. Within a version-controlled project you can:
- Check your changes before committing.
- Commit and push easily from within the tool.
- View and manage version control states.
- Use tool integration such as
git mergetool, so Meld can serve as the merge tool Git invokes.
This mode is aimed at the everyday loop of reviewing a diff, staging what you want, and committing — plus resolving merge conflicts when they come up.
Two-way vs. three-way comparison
| Two-way | Three-way | |
|---|---|---|
| Inputs | Two files or two directories | Three files or three directories (typically two changed versions plus a base) |
| Typical use | Reviewing differences between two versions | Merging changes from two sources against a common ancestor |
| Merge support | Edit and merge between the two sides | Conflict handling with base version display |
Both files and directories support two- and three-way comparison, so the choice depends on whether you're comparing or merging.
Installing Meld
- Linux/Unix: packaged for most distributions, and also available on Flathub. Installing from source is documented separately.
- Windows: download the installer. Note that Meld does not yet support automatic updates or portable installs.
- macOS: not yet officially supported, though semi-official builds are available via Homebrew, MacPorts, or Fink, with the hope of full integration in the future. Older third-party binaries exist but may have issues with recent macOS versions.
Requirements are Python 3.6, GTK+ 3.22, GLib 2.36, PyGObject 3.36, GtkSourceView 4.0, and pycairo. The current stable release listed is Meld 3.24.0 (20 June 2026), which the project describes as the best option for most users since changes to stable releases are kept to a minimum. Source archives and Windows/macOS binaries are available, along with a full release list for previous versions.
Development and contributing
All development happens on GNOME's GitLab instance. You can run Meld directly from a clone without installing:
$ git clone https://gitlab.gnome.org/GNOME/meld.git
$ bin/meld
Open an issue for problems you encounter, or ask on the discussion board if you're unsure about something.