К основному содержанию

Сравнение двух текстов онлайн — diff

Вставьте «было» и «стало» — различия подсветятся: удалённое красным, добавленное зелёным. Режимы по строкам, словам и символам, игнор регистра и пробелов, копирование как unified diff и скачивание .diff.

работает в браузере · данные никуда не отправляются


  

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

  1. Вставьте исходный текст в поле Было (A), изменённый — в Стало (B). Сравнение запускается само, по кнопке или по Ctrl/Cmd+Enter.
  2. Выберите режим: по строкам — классический diff с номерами строк и контекстом, по словам или по символам — инлайн-подсветка внутри текста.
  3. Галочки «без учёта регистра» и «игнорировать пробелы и пустые строки» убирают шум от форматирования — удобно для сравнения выгрузок и конфигов.
  4. Статистика внизу: сколько строк добавлено, удалено, изменено и насколько тексты похожи в процентах.
  5. Кнопки A ↔ B меняет тексты местами, Копировать unified diff и Скачать .diff отдают результат в формате, который понимают git apply и patch.

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

Инструмент ищет самую длинную общую подпоследовательность (LCS) двух текстов алгоритмом Майерса O(ND) — тем же, что лежит в основе git diff и GNU diff. Всё, что не вошло в общую часть, помечается как удалённое из A или добавленное в B. Для текстов длиннее 5 000 строк включается быстрый режим: сначала находятся якоря по строкам, уникальным в обоих текстах (как в patience diff), а между якорями запускается точный алгоритм; очень крупные несовпадающие блоки показываются целиком как «удалено / добавлено», о чём инструмент предупреждает.

Схожесть в процентах — это 2·LCS ÷ (длина A + длина B) в единицах выбранного режима: строк, слов или символов. Одинаковые тексты дают 100%, полностью разные — 0%.

Какой режим когда выбирать

  • По строкам — код, конфиги, CSV, списки доменов и ключевых слов, ответы API. Вывод как в git diff: номера строк слева, три строки контекста, заголовки @@ -12,4 +12,5 @@.
  • По словам — тексты объявлений, лендингов, писем и договоров: видно, какие именно слова заменили, а не «строка изменилась целиком».
  • По символам — короткие строки, где важна каждая буква: URL с UTM-метками, промокоды, ключи API, названия кампаний.

Зачем арбитражнику и маркетологу

Сравнить два варианта креатива перед A/B-тестом и убедиться, что отличается только заголовок. Сверить лендинг до и после правок разработчика или переводчика. Понять, что поменялось в правилах партнёрки, оферте рекламной сети или условиях оффера — вставить старую и новую версии и увидеть только разницу. Найти расхождения между двумя выгрузками статистики или списками стоп-слов, не пробегая глазами тысячи строк.

Формат unified diff

Кнопка «Копировать unified diff» отдаёт текст в стандартном формате: заголовки --- A и +++ B, блоки @@ -старт,длина +старт,длина @@, строки с префиксами - (удалено), + (добавлено) и пробелом (контекст). Такой файл можно приложить к задаче, вставить в чат разработчику или применить командой patch -p0 < changes.diff. Экспорт всегда построчный, независимо от выбранного на экране режима.

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

Как сравнить два текста и найти отличия онлайн?

Вставьте оба текста в поля A и B — различия подсветятся сразу: красным то, что было удалено, зелёным то, что добавлено. Режим «по строкам» покажет классический diff с номерами строк, «по словам» и «по символам» — изменения внутри строк.

Отправляются ли тексты на сервер?

Нет. Сравнение выполняется JavaScript-кодом в браузере, тексты никуда не передаются. Последний ввод сохраняется только в localStorage вашего браузера, чтобы не потерять его при перезагрузке страницы.

Какой максимальный размер текстов для сравнения?

Ограничение — память браузера. Тексты до нескольких тысяч строк сравниваются точным алгоритмом за доли секунды; свыше 5 000 строк включается быстрый режим с якорями по уникальным строкам, инструмент предупреждает об этом в статусе.

Что означает «изменено» в статистике?

Если в одном блоке изменений удалено N строк и добавлено M, то min(N, M) считаются изменёнными (строка заменена другой), а остаток — чисто добавленными или удалёнными. Так статистика ближе к тому, как разницу воспринимает человек.

Можно ли игнорировать пробелы и регистр при сравнении?

Да. Галочка «без учёта регистра» приравнивает Offer и offer, галочка «игнорировать пробелы и пустые строки» схлопывает повторные пробелы, отступы и пропускает пустые строки — различия только в форматировании перестают показываться.

Как применить полученный diff к файлу?

Скачайте .diff и выполните patch -p0 original.txt < changes.diff или git apply changes.diff в каталоге с файлом. Diff построчный и в стандартном unified-формате, поэтому его понимают все инструменты.

Спонсоры проекта

Компании, которые помогают держать аналитику открытой
свежие базы — в канале Подписаться на канал