# ComparePlus diffs inside Notepad++, and reads Git and SVN without leaving the editor

> ComparePlus is a GPL licensed C++ plugin for Notepad++ that compares two files or two selections side by side, finds unique lines, detects moved lines and shows character level differences, and can diff the open file against Git, against SVN or against the clipboard. It needs Notepad++ 8.4.2 or newer, and the Git and SVN commands depend on two native libraries shipped alongside the plugin.

**pnedev/comparePlus** — Compare plugin for Notepad++

- Repository: https://github.com/pnedev/comparePlus
- Stars: 1,285 · Forks: 165
- Language: C++
- License: GPL-3.0
- Published: 2026-10-19 · Updated: 2026-10-19 · Language: en
- Canonical page: https://hysenlabs.com/projects/pnedev-compareplus

## A diff tool with a different centre of gravity

ComparePlus is a plugin for Notepad++ that lets the user do a specific set of things, and the list is more interesting than a generic diff because it reaches outside the editor.

The core is the expected part. Compare two files and show differences side by side. Compare only parts of two files, that is, two selections. Find unique lines between two files. Diff a changed file since it was last saved. Diff a file or parts of it against clipboard text content.

The part that distinguishes it is the version control support. It can diff a file against Git, with the help of libgit2, and diff a file against SVN, with the help of sqlite. That is a real change in the approach. A terminal workflow for the same task is git diff, read the output, and then open both versions in an editor, which means the diff and the editing are two different windows and two different mental contexts. A plugin that puts the comparison inside the editor, with the differences marked in the text you are about to edit, keeps one context.

The comparison itself is configurable to a degree that is unusual for a diff tool. It can ignore spaces, empty lines and letter cases, and it can ignore things by regex. It can find moves, so a block that has been relocated is reported as a move rather than as a deletion and an addition, which is the difference between a readable diff and noise. And it can show character diffs, so two lines that differ in one word do not fill the view with whole line changes.

The last feature in the list is the one that matters for a working session. Several compared file pairs can be active and displayed at the same time, so a merge conflict, a configuration file and its reference copy can sit side by side in one window.

## The Git and SVN commands depend on two native libraries

The installation instructions spell out what the plugin needs, and the interesting detail is in the file layout.

The release archive contains ComparePlus.dll, described as the core plugin DLL, and a libs sub-folder that contains the libs libgit2.dll and sqlite.dll needed for the Diff against Git and SVN commands. So the version control features are not implemented in the plugin, they are delegated to two native libraries that ship next to it.

That has a practical consequence. If the libs sub-folder is missing, the plugin still loads and the ordinary file comparison still works, and the two version control commands are the ones that fail. The install instructions call the sub-folder out explicitly for that reason, and it is the kind of detail that is easy to skip when copying files by hand.

It also explains the architecture choice. libgit2 is a C library that speaks the Git object model, and reusing it means the plugin does not have to shell out to a git executable or reimplement repository access, and the same holds for the SQLite based route into SVN working copy metadata. The trade is a native dependency that has to match the platform and the architecture of the plugin, which is exactly why the release archives are published per architecture.

The consequence for a user is that the two version control comparisons are not available on a platform where the DLLs cannot load, and the plugin is a Windows one in the first place, since the whole thing is a Notepad++ plugin.

## Installing means a folder, a DLL and a restart

The stated requirement is that the ComparePlus plugin is available for Notepad++ versions above v8.4.2, included.

The automatic route is the Notepad++ PluginAdmin dialog, and the instructions note that you can find the plugin in the Plugins menu in Notepad++ versions above v8.4.5. So the PluginAdmin path has a slightly higher floor than the plugin itself, which is a detail that catches people on a specific version.

The manual route is three steps. Create a ComparePlus folder in Notepad++'s plugins installation folder, at %Notepad++_program_folder%\Plugins. Copy the contents of the desired ComparePlus release zip file into that new folder, using the archive that matches your Notepad++ architecture, x86, x64 or ARM64. And restart Notepad++.

That is the whole procedure, and it is the standard shape for a Notepad++ native plugin, because the editor loads plugins from that directory at start-up and the architecture has to match the editor's own.

Two supporting resources sit alongside the plugin. The releases are on the GitHub releases page, and continuous builds are on the AppVeyor project history, which is also the source of the build status badge at the top of the README. The changelog is in ReleaseNotes.txt in the repository, with a separate file for the older plugin's release notes.

## ComparePlus replaced Compare-plugin, and the predecessor is retired

The repository is also the home of the older Compare-plugin for Notepad++, and the README is explicit about the relationship. The GitHub project is the home of the latest source, on the Compare_v2 branch, and the releases of Compare-plugin, and ComparePlus is its highly advanced successor and is meant to be its replacement, so Compare-plugin will no longer be supported by the author.

That sentence matters for anyone who arrives at this repository looking for the plugin they already use. The old instructions are still in the README, with the folder named ComparePlugin instead of ComparePlus and the DLL named ComparePlugin.dll, and the same libs sub-folder requirement. The difference in the requirements is the version, and the old plugin splits its instructions in two: for v7.6.3 and above you create a ComparePlugin folder under the Plugins directory and copy the release contents in, and for pre v7.6.0 you copy the archive contents straight into the plugins installation folder. Both variants want the archive that matches the architecture, x86 or x64.

So the state of the project is that a long standing plugin has been succeeded by a more capable one, the predecessor is frozen and unsupported, and both are distributed from the same releases page.

The repository layout matches that history. There is a src/ directory for the plugin code, projects/ holding the Visual Studio projects, libs/ for the third party binaries, res/ for resources, a CMakeLists.txt for the alternative build, a Help.md for the in-editor help, and Translators.md, which is a reminder that the plugin's interface is localised.

## Building it means Visual Studio, or CMake with one of three generators

The manual build instructions are for a Windows developer with the right toolchain, and they are given as three steps.

First, open the project at comparePlus\projects\2022\ComparePlus.vcxproj, which is a Visual Studio project file. Second, build the ComparePlus plugin like a normal Visual Studio project, with available platforms being x86 as Win32 and x64 for Unicode Release and Debug, and an ARM64 build also available. Third, the CMake configuration is available and tested for the generators MinGW Makefiles, Visual Studio and NMake Makefiles.

The 2022 in the path is a small but meaningful detail. It means the project targets a specific toolset generation, which is what a plugin has to do when it links against a host application's SDK, because the binary has to agree with the editor it loads into.

The three CMake generators cover the three common ways people build on Windows. Visual Studio is the same path as the .vcxproj. MinGW Makefiles is the way to build with the GNU toolchain, which matters for anyone who wants a build outside Visual Studio. NMake Makefiles is the make based option that ships with the Microsoft toolchain.

The architecture list also has to be read carefully. The plugin publishes x86, x64 and ARM64 archives, and the install instructions tell you to pick the one that matches your Notepad++. Copying the x64 build into an x86 editor, or the other way round, is the most common way for a native plugin to appear simply not to load, and the download page gives you the choice, which means the choice is yours to get right.

## Where it sits, and what it does not do

The licence is GPL-3.0, and the releases are named with a cp_ prefix, with cp_3.0.0 from May 2026, cp_2.2.0 from November 2025 and cp_2.1.1 from September 2025. The repository is not archived and the last push was on 2026-09-21, with the build status tracked by AppVeyor.

The comparison to make is with a terminal diff. A terminal diff, whether it is diff or git diff, produces text, and reading text output while editing requires switching context. ComparePlus produces a marked up view of the two texts, side by side, in the editor you are already working in, with the ability to restrict the comparison to two selections rather than whole files, which is the case that matters when you are checking a function rather than a file.

What it does not do is merge. The feature list covers comparison, unique line detection, character diffs, move detection and the comparison sources, and there is no merge or conflict resolution in it. That is a reasonable division of labour, because merging needs a three way view and a file model, which is a different program.

So the honest positioning is a viewing and comparison tool inside an editor, with version control awareness, for someone who reviews differences in files rather than in patches. For a reviewer who wants to see what changed between two revisions of a configuration file, or to check a changed file against what is in Git, without leaving Notepad++, it does that well. For a team that needs three way merges and review workflows, it is the wrong category of tool.

## Conclusion

ComparePlus suits a developer who works in Notepad++, compares versions of a file as part of editing rather than in a terminal, and wants the diff and the editor in the same window. It does not suit a team that wants a merge tool, since it compares and reports differences rather than resolving them, and it is the wrong choice on a Notepad++ older than 8.4.2. Verify first that your Notepad++ version is new enough and that you have the matching archive for your architecture, x86, x64 or ARM64, and check that the libs sub-folder is present if you intend to use the Diff against Git and Diff against SVN commands, because those two features depend on libgit2.dll and sqlite.dll being next to the plugin.

## FAQ

### What does the ComparePlus plugin for Notepad++ do?

It compares two files or two selections side by side, finds unique lines between two files, shows character level differences and can find moved lines. It can also diff a file against Git, against SVN, against the clipboard, or against the version it had when it was last saved.

### What does ComparePlus need to diff against Git and SVN?

The release archive contains a libs sub-folder with libgit2.dll and sqlite.dll, which the installation instructions describe as needed for the Diff against Git and SVN commands. Without that sub-folder the core file comparison still works.

### How do I install ComparePlus manually?

Create a ComparePlus folder in Notepad++'s plugins installation folder under %Notepad++_program_folder%\Plugins, copy the contents of the release zip for your architecture into it, and restart Notepad++. The plugin can also be installed through the Notepad++ PluginAdmin dialog in versions above v8.4.5.

### Which Notepad++ versions support ComparePlus?

The README states that the plugin is available for Notepad++ versions above v8.4.2, included, and that the automatic install through the Plugins menu requires a version above v8.4.5.

### How do I build ComparePlus from source?

Open the Visual Studio project at comparePlus\projects\2022\ComparePlus.vcxproj and build it as a normal Visual Studio project for x86 or x64 in Unicode Release or Debug, with an ARM64 build also available. A CMake configuration is provided and is tested for the MinGW Makefiles, Visual Studio and NMake Makefiles generators.

## Sources

- [Issues](https://github.com/pnedev/comparePlus/issues)
- [License: GPL-3.0](https://github.com/pnedev/comparePlus/blob/main/LICENSE)
- [pnedev/comparePlus on GitHub](https://github.com/pnedev/comparePlus)
- [README](https://github.com/pnedev/comparePlus/blob/main/README.md)
- [Releases](https://github.com/pnedev/comparePlus/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/pnedev-compareplus
