Как пользоваться
- Вставьте исходный текст в поле Было (A), изменённый — в Стало (B). Сравнение запускается само, по кнопке или по
Ctrl/Cmd+Enter. - Выберите режим: по строкам — классический diff с номерами строк и контекстом, по словам или по символам — инлайн-подсветка внутри текста.
- Галочки «без учёта регистра» и «игнорировать пробелы и пустые строки» убирают шум от форматирования — удобно для сравнения выгрузок и конфигов.
- Статистика внизу: сколько строк добавлено, удалено, изменено и насколько тексты похожи в процентах.
- Кнопки 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-формате, поэтому его понимают все инструменты.