CodeKitHub
Текстові інструменти

Порівняння тексту онлайн

Останнє оновлення:

Щоб порівняти два тексти, вставте кожну версію в поля нижче — інструмент виділить кожен доданий рядок зеленим, а кожен видалений червоним, незмінені рядки показуються як контекст — той самий підхід diff, який використовують git та інструменти рев'ю коду. Усе залишається у вашому браузері.

Що це за інструмент?

Інструмент diff (порівняння різниці) зіставляє два тексти й показує мінімальний набір змін, що перетворює один на інший. Саме так системи контролю версій, як-от Git, відображають зміни в коді, і це так само корисно для порівняння конфігураційних файлів, контрактів, статей чи будь-яких двох версій чогось.

Цей інструмент порівнює текст рядок за рядком, використовуючи те саме сімейство алгоритмів (найдовша спільна підпослідовність), що й класичні утиліти diff, тож результат виглядає як звичне рев'ю коду: + для доданих рядків, − для видалених.

Навіщо його використовувати?

  • Побачте, що насправді змінилося між двома версіями, замість того щоб порівнювати їх на око.
  • Звичний вивід у стилі git: зелені додавання, червоні видалення, рядки контексту між ними.
  • Підсумкова кількість доданих і видалених рядків одним поглядом.
  • Працює з будь-яким текстом — код, конфігурації, документи, списки.
  • Приватно: обидва тексти залишаються у вашому браузері, нічого не завантажується.

Як користуватися

  1. Вставте оригінальний текст у ліве поле.
  2. Вставте змінену версію у праве поле.
  3. Натисніть "Порівняти".
  4. Прочитайте результат: зелені рядки додано, червоні — видалено, звичайні рядки не змінилися.

Приклад

Введення

Оригінал:
рядок один
рядок два
рядок три

Змінено:
рядок один
рядок 2
рядок три

Результат

  рядок один
− рядок два
+ рядок 2
  рядок три

Середній рядок було змінено, і diff показує це як видалення старого рядка та додавання нового.

Типові випадки використання

  • Перевірка переписаного AI абзацу: вставте оригінал і версію AI, щоб побачити, які саме речення змінилися, замість повторного читання всього тексту в пошуках правок.
  • Порівняння двох чернеток контракту: юридичні правки часто легше переглянути як рядкове порівняння, ніж як відстеження змін, коли документ переформатовано між версіями.
  • Перевірка конфігураційного файлу після деплою: вставте версію до й після файлу .env чи YAML, щоб підтвердити, що змінилися лише потрібні рядки.
  • Порівняння редакцій перекладеного тексту: побачте, які рядки насправді змінив перекладач чи редактор між чернетками.

Обмеження, про які варто знати

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

Як працює алгоритм порівняння

Інструмент знаходить найдовшу спільну підпослідовність (LCS) між двома текстами — найбільший набір рядків, що з'являються в однаковому відносному порядку в обох версіях, навіть якщо між ними було вставлено чи видалено інші рядки. Усе, що входить у цю спільну підпослідовність, показується як незмінений контекст; усе інше класифікується або як видалене (присутнє лише в оригіналі), або як додане (присутнє лише в новій версії). Це той самий базовий алгоритм, що лежить в основі утиліти Unix diff та порядкового порівняння Git, тому формат виводу здасться одразу знайомим, якщо ви коли-небудь переглядали pull request.

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

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

Порівняння відбувається слово за словом чи рядок за рядком?

Рядок за рядком, як git diff. Змінений рядок показується як одне видалення плюс одне додавання. Порівняння на рівні рядків — стандарт для коду та конфігурацій і залишається зручним для читання навіть у великих текстах.

Чому невелика зміна показує весь рядок як змінений?

Тому що одиницею порівняння є рядок — будь-яка зміна всередині нього позначає весь рядок. Розбийте довгі абзаци на коротші рядки, якщо потрібна точніша деталізація.

Чи має значення пробіл?

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

Чи є обмеження розміру?

Жорсткого обмеження немає, але дуже великі тексти (десятки тисяч рядків) можуть зайняти трохи часу, оскільки порівняння виконується локально на вашому пристрої.

Чи завантажуються мої тексти для порівняння?

Ні. Алгоритм порівняння виконується повністю у вашому браузері за допомогою JavaScript. Обидва тексти залишаються на вашому пристрої — безпечно для контрактів, внутрішніх документів і невиданого коду.

Схожі інструменти