Как пользоваться
- Вставьте Исходный текст в левое поле.
- Вставьте Изменённый текст в правое поле. Результат обновляется по мере ввода.
- Выберите По строкам, чтобы сравнивать построчно, или По словам, чтобы сравнивать слово за словом.
- Отметьте Не учитывать заглавные и строчные буквы или Не учитывать лишние пробелы и переносы строк, если эти различия для вас не важны.
Как находятся различия
Инструмент находит наименьшее число вставок и удалений, которые превращают исходный текст в изменённый. Это задача о наибольшей общей подпоследовательности (longest common subsequence), а метод здесь — алгоритм O(ND), который Юджин У. Майерс опубликовал в 1986 году. N и M — длины двух текстов, D — число изменений.
Единица сравнения — строка или слово, отделённое пробелами. Единица, которая есть только в исходном тексте, показана как удалённая; единица, которая есть только в изменённом, показана как добавленная.
- Строка, перенесённая на другое место, показана как удалённая там, где была, и как добавленная там, где стоит теперь.
- Одинаковые единицы показаны один раз, на своём месте, без знака.
Опции регистра и пробелов
С включённой опцией Не учитывать заглавные и строчные буквы слова «Яблоко» и «яблоко» считаются одинаковыми. Правило берётся от языка страницы. В русском языке особых правил для регистра нет, поэтому «Ёлка» и «ёлка» считаются одним словом.
С включённой опцией Не учитывать лишние пробелы и переносы строк несколько подряд идущих пробелов или знаков табуляции считаются одним пробелом, а пробелы в начале и в конце строки не учитываются. Результат всё равно показывает текст, который вы вставили.
Ограничения
- Каждый текст может содержать до 20 000 строк или слов.
- Можно показать до 3 000 вставок и удалений. Пара текстов, которые различаются в большем числе мест, отклоняется с сообщением.
Разбор примера: короткое письмо
В исходном тексте три строки, и в изменённом тоже три. Первая строка стала «Привет, большой мир», третья стала «Четвёртая строка», а вторая строка не изменилась.
В итоге: добавлено 2, удалено 2, без изменений 1. Удалённая строка показана раньше добавленной, которая её заменяет, так что каждое изменение читается в одном месте.
| Результат | Строка |
|---|---|
| Удалено | Привет, мир |
| Добавлено | Привет, большой мир |
| Без изменений | Вторая строка |
| Удалено | Третья строка |
| Добавлено | Четвёртая строка |
Частые вопросы
Мои тексты где-нибудь загружаются?
Нет. Сравнение выполняется в вашем браузере, и страница никогда не отправляет и не сохраняет то, что вы вставили. Проверить это можно так: после загрузки страницы отключите интернет и сравните тексты ещё раз.
Почему переставленная строка показана и как удалённая, и как добавленная?
Тексты сравниваются по порядку. Перенесённая строка — это удаление на старом месте и добавление на новом, потому что инструмент не ищет перестановки. То же происходит в большинстве инструментов для сравнения.
В чём разница между сравнением строк и сравнением слов?
Сравнение строк отмечает целые строки как изменённые, что подходит для кода, списков и писем. Сравнение слов отмечает отдельные слова, поэтому изменение внутри предложения показывает только изменившиеся слова.
Зачем нужно ограничение на размер текстов?
Каждый текст может содержать до 20 000 строк или слов, а показать можно до 3 000 вставок и удалений. Сверх этого телефон начнёт тормозить или не хватит памяти, поэтому инструмент останавливается и выводит сообщение.
Работает ли опция регистра для русских букв?
Да. Заглавные буквы, например «Ё», «Й» и «Ж», совпадают со строчными, если регистр не учитывается. В русском языке особых исключений нет, поэтому «Ёлка» и «ёлка» считаются одним словом.
Источники
- Wikipedia (на английском): Diff, метод наибольшей общей подпоследовательности и алгоритм Майерса (1986)
- Unicode SpecialCasing.txt (на английском): правила регистра
Цифры и текст в последний раз проверены вторник, 10 ноября 2026 г..