Сравнение текстов (Diff)

Бесплатное онлайн-сравнение текстов. Сравните два текста построчно прямо в браузере, увидьте, что именно добавлено, удалено или изменено, и скопируйте результат как унифицированный патч.

Что делает сравнение текстов


Сравнение текстов сопоставляет две версии одного текста и отмечает, что между ними изменилось. Строки, которые есть в обеих версиях, остаются как есть; строки, которые есть только в первой, помечаются как удалённые, а только во второй — как добавленные. В итоге получается короткий список изменений вместо двух длинных файлов, которые пришлось бы читать бок о бок самостоятельно.

Когда это нужно


Всякий раз, когда две вещи должны совпадать, а одна не совпадает: файл конфигурации, который работает на одном сервере и падает на другом; пункт договора, который кто-то поправил, не сказав; журнал, который раньше был чистым; перевод, отошедший от оригинала. Читать обе версии целиком долго и ненадёжно — глаз пропускает изменённую цифру. Сравнение не пропускает.

Как читать результат


СимволЗначение
Строка одинакова в обоих текстах и показана только как контекст.
-Строка есть только в исходном тексте.
+Строка есть только в изменённом тексте.
@@Открывает блок изменений и указывает, какие строки он охватывает в каждом тексте.

Это символы унифицированного формата — того же, что используют diff -u, git и patch. Патч, который создаёт эта страница, можно сохранить в файл и применить этими инструментами.

Как пользоваться


Сравнение выполняется в вашем браузере. Ничего из вставленного никуда не отправляется, и это важно: файлы, которые сравнивают, обычно как раз те, которые не следует никуда загружать — учётные данные, договоры, данные клиентов.

  1. Вставьте исходную версию в первое поле, а изменённую — во второе.
  2. Решите, игнорировать ли регистр и пробелы, — это помогает, когда файлы написаны в разных редакторах.
  3. Прочитайте отмеченные строки или скопируйте унифицированный патч, чтобы применить изменение в другом месте.

Частые вопросы


Отправляется ли мой текст на сервер?
Нет. Сравнение происходит целиком в вашем браузере, на JavaScript. Страница ничего не отправляет и ничего не сохраняет.

Почему строка считается изменённой, если я добавил лишь пробел?
Потому что по умолчанию сравнение точное. Включите «Игнорировать пробелы», и строки, различающиеся только отступом или пробелами, будут считаться одинаковыми — при этом на экране каждый файл по-прежнему показан таким, какой он есть.

Можно сравнивать файлы, а не вставлять текст?
Откройте файл в любом редакторе, выделите всё и вставьте сюда. Страница сравнивает текст, поэтому сравнить можно всё, что читается как текст: код, CSV, журналы, JSON, обычную прозу.

Мешают ли разные переводы строк Windows и Unix?
Нет. Перевод строки CRLF и LF считаются одним и тем же разрывом, поэтому файл, сохранённый в Windows, не выглядит так, будто изменилась каждая строка.

Для чего нужен патч?
Это унифицированный формат, который создаёт diff -u и читают git и patch. Сохраните его в файл — и сможете применить ровно это изменение к другой копии оригинала или приложить к задаче, чтобы другой человек увидел, что вы изменили.

Wikipedia — diff
Wikipedia — Unified format
Wikipedia — Longest common subsequence
Wikipedia — Patch (computing)
Wikipedia — File comparison