onlinetools.dev

Порівняння текстів

Порівняйте два тексти порядково й побачте додавання та вилучення

Працює локально
loading…
Про цей інструмент

Вставте оригінальний текст ліворуч, а змінену версію праворуч — і отримайте порядкове порівняння: вилучення позначені червоним, додавання зеленим, контекст збережено між ними, а з обох боків стоять оригінальні номери рядків. Це найшвидший спосіб відповісти на питання «що ж насправді змінилося?» між двома конфігами, двома відповідями API чи двома версіями фрагмента, який хтось кинув у чат.

Порівняння спирається на алгоритм найдовшої спільної підпослідовності по рядках — ту саму сім’ю алгоритмів, що стоїть за git diff, — тож переставлені блоки й дрібні правки дають читабельний результат, а не позначку «змінено все». Підсумковий рядок підбиває кількість доданих і вилучених рядків.

Оскільки обидва тексти лишаються на сторінці, порівняння конфіденційних матеріалів — договорів, облікових даних у конфігах, неопублікованих текстів — не несе жодного з ризиків вставляння їх у випадковий вебсервіс.

Часті запитання

Порівняння працює по словах чи по рядках?
По рядках. Кожен рядок порівнюється як одне ціле, що відповідає тому, як розробники читають diff коду й конфігів. Тому змінений рядок показується як одне вилучення плюс одне додавання; підсвічування на рівні символів заплановане.
Чому мій diff показує все як змінене?
Зазвичай через невидимі відмінності: з одного боку табуляції, з іншого пробіли, віндовські CRLF проти юніксових LF або пробіли в кінці рядків. Нормалізація пробілів перед порівнянням (для JSON допомагає форматувальник із сортуванням ключів) робить справжні зміни видимими.
Чи можна осмислено порівняти дві відповіді JSON?
Так — спершу пропустіть обидві через форматувальник JSON з увімкненим сортуванням ключів, щоб рівноцінні документи серіалізувалися однаково. Тоді diff покаже справжні зміни значень, а не шум від порядку ключів.
Чи є максимальний розмір тексту?
Алгоритм порівнює кожен рядок одного тексту з кожним рядком іншого, тож надзвичайно великі файли (десятки тисяч рядків з обох боків) можуть зайняти якусь мить. Типові файли коду й тіла запитів API порівнюються миттєво.
Пов’язані інструменти