Опубліковано: 2026-06-10
Порівняти два текстові файли онлайн — без інсталяції
Порівняй два текстові файли просто в браузері — без WinMerge, без інсталяції, без завантаження на сервер. Кожен змінений рядок і слово видно миттєво.

У тебе дві версії одного файлу, і треба точно знати, що змінилося. Конфіг, який учора працював, а сьогодні зламався. Два CSV-експорти, що мали б збігатися, але ні. Договір, якого колега «ледь торкнувся». Відкривати обидва в окремих вікнах і вичитувати рядок за рядком — це найкоротший шлях проґавити той єдиний символ, що має значення.
Не роби так. Відкрий кожен файл, скопіюй його вміст і встав у наш Порівняння текстів — він працює на 100% у твоєму браузері, жоден байт не йде на сервер — і кожне додане, видалене й незмінне слово підсвічується кольором миттєво. Без інсталяції, без діалогу завантаження, без спінера «обробляємо ваш документ». Зелений — нове, червоний — зникло, сірий — без змін.
Найшвидший спосіб порівняти два текстові файли
Ти не завантажуєш файли — ти вставляєш їхній текст. Це перевага, а не обмеження: так відкидається бінарна обгортка й порівнюється безпосередньо вміст.
- Відкрий перший файл у будь-якому редакторі (Notepad, VS Code, TextEdit,
cat— байдуже) - Виділи все (
Ctrl/Cmd+A) і скопіюй - Встав у ліве поле Порівняння текстів
- Повтори з другим файлом у правому полі
Diff малюється наживо тієї ж миті, щойно в обох полях зʼявляється вміст. Підсумковий рядок показує лічбу — X додано, Y видалено, Z без змін — і часто цього достатньо, щоб відповісти «а скільки взагалі змінилося?» ще до прочитання бодай одного рядка.
Якщо ти вставляєш два блоки звичайної прози, а не вміст файлів, робочий процес ідентичний — цей випадок ми розбираємо в як порівняти два тексти онлайн. Ця ж стаття — про ситуацію, коли джерело саме файл, бо файли приходять зі своїм набором пасток.
Онлайн проти десктопних diff-інструментів: що ти насправді віддаєш
Класична відповідь на «порівняй два файли» — десктопна програма. Вони досі мають своє місце, але для швидкого порівняння баланс зсунувся.
| Інструмент | Інсталяція | Ціна | ОС | Найкраще для |
|---|---|---|---|---|
| Порівняння текстів (онлайн) | Немає | Безкоштовно | Будь-який браузер | Швидкі разові diff, заблоковані машини |
VS Code (Compare Selected) | Потрібен редактор | Безкоштовно | Win / Mac / Linux | Розробники, що вже живуть у редакторі |
| WinMerge | Так | Безкоштовно | Тільки Windows | Diff папок, редагування на місці |
| Beyond Compare | Так | Платно | Win / Mac / Linux | Тристороннє злиття, досвідчені юзери |
diff / git diff (CLI) | Передвстановлено (Unix) | Безкоштовно | Mac / Linux | Скриптованість, файли під контролем версій |
Онлайн-інструмент виграє рівно за однією віссю, зате найчастіше саме за тією, що важить найбільше: час на підготовку — нульовий. Нічого не треба качати, нічого ліцензувати, і воно працює на корпоративному ноуті, де софт не поставиш. Десктопні програми виграють, коли потрібне порівняння на рівні папок, тристороннє злиття або редагування файлу на місці. Підбирай інструмент під задачу — не тягни 30-мегабайтний інсталятор, щоб глянути, що змінилося у двох сніпетах.
Пастки файлів, через які «однакові» файли стають різними
Ось де порівняння файлів отримує свої режими відмов, яких вставлена проза ніколи не зачіпає. Два файли можуть виглядати в редакторі ідентично — і все одно дати повністю різний diff. Причини майже завжди невидимі:
- Byte Order Mark (BOM) — файл, збережений як UTF-8 з BOM, несе прихований
U+FEFFна самому початку. Той самий текст без BOM — ні. Редактори його ховають, diff — ні. - Кінці рядків — Windows пише
CRLF(\r\n), macOS і Linux пишутьLF(\n). Файл, проведений через не той редактор, перевертає кожен кінець рядка — і побайтовий diff підсвічує геть кожен рядок. - Розбіжність кодувань — UTF-8 проти UTF-16 проти застарілого Windows-1252. Перезбережи файл в іншому кодуванні — і байти акцентованих символів тихо зміняться.
- «Розумні» лапки й нерозривні пробіли —
U+2018/U+2019іU+00A0прослизають зі скопійованого вебу чи Word і ніколи не збігаються зі своїми ASCII-відповідниками.
Лік — 10-секундне попереднє чищення. Прожени вміст обох файлів через Виправити пробіли — інструмент випрямляє «розумні» лапки, прибирає нерозривні пробіли й уніфікує кінці рядків за один прохід, тож diff покаже справжні зміни, а не шум кодування. Усю механіку розкладаємо в як прибрати зайві пробіли з тексту онлайн. Спершу почисти, потім порівнюй.
Що люди порівнюють насправді
«Порівняти два текстові файли» охоплює купу геть різних задач. Ось хто за цим тягнеться і що саме шукає:
| Хто | Що порівнює | Що шукає |
|---|---|---|
| Розробники | config.prod.json проти config.dev.json | Те єдине налаштування, що різниться між середовищами |
| DevOps | Старий .env проти нового .env | Перейменовану чи видалену змінну, що зламала деплой |
| Дата-аналітики | Учорашній CSV-експорт проти сьогоднішнього | Які рядки чи значення реально змінилися |
| Юристи / опс | Надісланий договір проти повернутого | Кожен пункт, який контрагент тихо відредагував |
| Автори | chapter-v3.txt проти chapter-v4.txt | Чи не вирізала пізня правка ключову репліку |
Той випадок «конфіг проти конфігу» — основний хліб. Кинь прод ліворуч, стейджинг праворуч — і зелено-червоний поділ виносить на поверхню точний дрейф між двома середовищами, набагато швидше, ніж читати два 200-рядкові JSON згори донизу.
Як насправді працює порівняння
Під капотом diff виконує алгоритм найдовшої спільної підпослідовності (LCS) — той самий динамічно-програмний підхід, що стоїть за git diff. Він обчислює найдовший ланцюжок токенів, спільних для обох файлів у тому самому порядку, а тоді позначає все поза цим ланцюжком як додане або видалене. Без нечіткого зіставлення, без здогадок.
Ціна — $O(m \times n)$, де m і n — кількість токенів. Два файли по 5000 слів — 25 мільйонів клітинок у матриці порівняння — все одно розвʼязуються значно менш ніж за секунду на звичайному ноуті. Просто працює.
Токенізація — це те, на чому розсипається джуніорська реалізація. Розбивання за пробілами через text.split(' ') ламається тієї ж миті, щойно подаси мініфікований рядок, CSV без пробілів чи CJK-текст — повертаючи один велетенський токен, тож будь-яка правка підсвічує весь рядок. Порівняння текстів натомість токенізує через Intl.Segmenter: стандартний за W3C, локале-залежний сегментатор, вбудований у кожен сучасний браузер — той самий API, який ми міряємо в як рахувати слова в JavaScript. Він тримає числа й символи привʼязаними до їхніх токенів, тож зміна конфігового 8080 на 9090 підсвічує саме цей токен, а не весь рядок:
| Токен в A | Токен у B | Вердикт LCS | Як показано |
|---|---|---|---|
port | port | у спільній підпослідовності | сірий — без змін |
8080 | — | відсутній у B | |
| — | 9090 | відсутній у A | зелений — додано |
Токенізувати → вирівняти через LCS → загорнути кожен токен у кольоровий span. Три стадії, жодного сервера.
Масові правки — до порівняння
Інколи зміна між двома файлами не випадкова — це систематичне перейменування, яке ти хочеш зробити, а потім перевірити. Замінити хостнейм у конфізі, перейменувати колонку в рядку заголовків CSV, нормалізувати назву ключа перед порівнянням.
Для цього бери Пошук і заміна. Зроби масову зміну в одній версії, а тоді порівняй її з оригіналом, щоб переконатися: заміна влучила в кожен випадок і ні в що зайве. Інструмент підтримує повноцінну регулярку з прапором u для Unicode, тож можна матчити патерни на кшталт /host-\d+/gu, а не літеральні рядки. Тримай розподіл праці чітким: Пошук і заміна вносить зміни, Порівняння текстів їх показує. Разом це щільний цикл «відредагуй і перевір».
А якщо просто хочеш розмір кожного файлу — кількість слів, кількість рядків, час читання — встав його в Лічильник слів для повного розкладу.
Чому «в браузері» важить для файлів сильніше
Більшість сервісів «порівняти файли онлайн» роблять POST твоїх двох файлів на бекенд, рахують diff на сервері й шлють результат назад. Для двох списків покупок — нормально. Для .env, напханого обліковими даними, клієнтського CSV під GDPR, лога сервера з приватними IP чи непідписаного договору — це конфіденційний вміст файлу, що лежить у чужих логах.
Порівняння текстів такого запиту не робить ніколи. Обчислення LCS виконується в тому самому рушії V8, що малює цю сторінку; вміст твоїх файлів не покидає вкладку. Немає завантаження — немає чого перехопити, закешувати чи передати на вимогу. Для кожного, хто порівнює файли з секретами чи персональними даними, це не приємний бонус — це й є вся суть.
Два файли, одне порівняння, нуль байтів покидає твою машину. Відкрий Порівняння текстів і дізнайся точно, що змінилося.
