Текст
CRLF ↔ LF Converter
Перевести закінчення рядків між Windows (CRLF), Unix/macOS (LF) і старим Mac (CR), з виявленням змішаних закінчень.
Браузер сам нормалізує вставлений у поле текст до LF, тому виявити оригінальні CRLF/CR тут неможливо — для аналізу чи конвертації файла з реальними CRLF/CR використайте завантаження файлу вище.
Windows, Unix/macOS і старий класичний Mac історично використовують різні символи для позначення кінця рядка — CRLF, LF і CR відповідно. Змішування цих стилів в одному файлі часто спричиняє дивні артефакти в diff чи редакторах. Інструмент переводить закінчення рядків в один стиль і виявляє змішані.
Як користуватися
- Вставте текст — інструмент автоматично визначає поточний стиль закінчень рядків, включно зі змішаним.
- Оберіть цільовий формат (CRLF, LF чи CR) — перетворення відбувається одразу.
- Якщо у файлі знайдено кілька різних стилів одночасно, це підсвічується окремим попередженням.
Типові сценарії
- Виправлення файлу, де git diff показує зміну кожного рядка через різні закінчення, хоча вміст фактично не змінювався.
- Приведення текстового файлу до формату, очікуваного конкретною системою чи скриптом (наприклад, Unix-скрипт очікує LF).
- Діагностика, чому файл, відкритий у Windows-редакторі, показує весь текст в один рядок (ознака чистого LF без CR).
Що варто памʼятати
Git може автоматизувати цю конвертацію самостійно через core.autocrlf чи .gitattributes — це часто зручніше за ручне перетворення для файлів у репозиторії.
Змішані закінчення рядків в одному файлі не завжди помітні візуально, але можуть ламати парсери чи скрипти, що очікують один конкретний стиль.
Стаття про цей інструмент: CRLF проти LF: чому символи кінця рядка досі мають значення
Часті запитання
Чому закінчення рядків відрізняються залежно від системи?
Windows використовує CRLF (\r\n), Unix і macOS — лише LF (\n), а класичний Mac використовував лише CR (\r) — ці різні історичні конвенції спричиняють невідповідності при переміщенні файлу між системами.
Чому потрібно завантажувати файл замість вставки тексту?
Браузер автоматично нормалізує будь-який текст, вставлений у поле вводу, до LF, тому справжні оригінальні символи CRLF чи CR стають невиявними після вставки — лише пряме завантаження файлу зберігає його фактичні закінчення рядків для аналізу чи конвертації.
Коли така проблема справді має значення?
Найбільше це важливо з git (шумні diff через закінчення рядків), shell-скриптами, що падають через залишкові CRLF, і файлами, якими обмінюються між системами Windows і Unix/macOS; завантажений файл обробляється лише локально в браузері, ніколи не надсилається на сервер.
Що робити, якщо у файлі змішані CRLF і LF?
Файл, відредагований у кількох редакторах чи на різних ОС, може містити обидва стилі одночасно. Конвертацію потрібно застосувати до всього файлу, а не лише до видимо «підозрілих» рядків — інакше частина проблемних закінчень залишиться непоміченою.
Чи можна автоматизувати конвертацію через git?
Так, налаштування core.autocrlf у git автоматично конвертує закінчення рядків при checkout і commit, а .gitattributes дозволяє явно задати стиль закінчень для конкретних типів файлів у репозиторії.