WinMerge — свободная программа для сравнения и слияния текстовых файлов и каталогов под операционной системой Windows. Приложение предоставляет графический интерфейс, ориентированный на визуальное обнаружение различий между версиями файлов, позволяя пользователю просматривать отличия построчно и по символам, выполнять объединение изменений, проигнорировать определённые типы различий и сохранять результаты слияния.
Проект развивался как инструмент для разработчиков, тестировщиков и системных администраторов, которым требуется удобный визуальный дифф и возможность объединения изменений вручную. В состав функциональности входят показ различий в боковой-by-side режиме, подсветка синтаксиса для множества языков программирования, поддержка работы с папками и рекурсивное сравнение содержимого, а также обработка файлов в разных кодировках с учётом Unicode.
- Визуальное сравнение файлов — отображение отличий в виде двухпанельного интерфейса с подсветкой изменений по строкам и символам.
- Слияние изменений — возможность объединять версии файлов вручную или частично, применяя изменения из одной панели в другую.
- Сравнение папок — рекурсивное сравнение содержимого каталогов с отметкой добавленных, удалённых и изменённых файлов.
- Поддержка Unicode и кодировок — корректная обработка файлов в различных текстовых кодировках, включая UTF‑8 и UTF‑16.
- Подсветка синтаксиса — выделение ключевых слов и структур для облегчения анализа различий в исходном коде.
- Фильтрация и исключения — настройки для игнорирования пробелов, строковых окончаний и пользовательских шаблонов при сравнении.
- Интеграция с проводником — возможность вызова программы из контекстного меню файловой системы для быстрого сравнения.
- Плагины и расширяемость — механизм подключения дополнительных модулей для расширения функциональности и поддержки форматов.
- Отчёты и экспорт — генерация отчётов о различиях и экспорт результатов сравнения в текстовые форматы.
- Работа с большими файлами — оптимизации для обработки крупных текстовых документов и большого числа элементов при сравнении папок.