Diff Checker | Сравнение Текстовых Файлов Бесплатно

Сравнивайте два текста рядом и мгновенно выделяйте различия. Идеально подходит для кода, статей и документов.

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

Сообщить о проблеме

Нашли ошибку или есть предложение для Diff Checker | Сравнение Текстовых Файлов Бесплатно? Дайте нам знать!

Исходный текст
Измененный текст
Результат сравнения
Добавлено: 0
Удалено: 0

Как работает сравнение текста

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

Как работает сравнение

Инструмент использует алгоритм наибольшей общей подпоследовательности: он находит самую длинную последовательность совпадающих фрагментов, общих для обоих текстов, и помечает всё остальное как вставку или удаление. Сравнение можно выполнять на трёх уровнях детализации: посимвольно, по словам или по строкам. Построчный режим подходит, чтобы увидеть, какие целые строки изменились в документе; пословный режим подходит для переформулированного предложения; посимвольный режим улавливает исправление одной опечатки. Результат отображается либо в виде двух колонок рядом (раздельный вид), либо объединённым в один сплошной текст с пометками внутри строки (единый вид). Добавленный текст подчёркивается зелёным, удалённый зачёркивается красным, а над результатом постоянно обновляется счётчик добавленных и удалённых символов. Файлы также можно загружать напрямую в форматах .txt, .json, .js, .ts, .css, .html, .md, .yaml или .xml, и они сравниваются так же, как вставленный текст.

Пример: переформулированное предложение

Исходный текст: «Встреча начинается в 10 часов». Изменённый текст: «Встреча начинается в 10 часов в переговорной 17». В пословном режиме как добавление помечается только «в переговорной 17», поскольку все остальные слова предложения совпадают. Если переключить ту же пару в посимвольный режим, инструмент вместо этого помечает буквы и пробел в «в переговорной 17» как вставку на уровне символов, потому что там это наименьшая сравниваемая единица.

Пример: сравнение фрагмента JSON

Загрузка или вставка двух версий конфигурационного файла работает так же. Исходный файл:

{
  "port": 3800,
  "debug": true
}

Изменённый файл:

{
  "port": 9800,
  "debug": true,
  "timeout": 24
}

В построчном режиме строка с портом помечается как изменённая, поскольку 3800 превратилось в 9800, строка debug тоже помечается как изменённая, так как теперь заканчивается запятой, освобождая место для следующего поля, а новая строка «timeout»: 24 помечается как добавленная. Только открывающая и закрывающая фигурные скобки остаются без изменений. Сравнение обрабатывает оба файла как обычный текст, а не как разобранный JSON, поэтому перестановка тех же двух ключей местами без изменения значения всё равно отобразилась бы как различие.

Часто задаваемые вопросы