Текст

CRLF ↔ LF Converter

Перевести закінчення рядків між Windows (CRLF), Unix/macOS (LF) і старим Mac (CR), з виявленням змішаних закінчень.

Перевести в

Браузер сам нормалізує вставлений у поле текст до LF, тому виявити оригінальні CRLF/CR тут неможливо — для аналізу чи конвертації файла з реальними CRLF/CR використайте завантаження файлу вище.


                    

Windows, Unix/macOS і старий класичний Mac історично використовують різні символи для позначення кінця рядка — CRLF, LF і CR відповідно. Змішування цих стилів в одному файлі часто спричиняє дивні артефакти в diff чи редакторах. Інструмент переводить закінчення рядків в один стиль і виявляє змішані.

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

Типові сценарії

Що варто памʼятати

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 дозволяє явно задати стиль закінчень для конкретних типів файлів у репозиторії.

Статті: Текст

Case Converter: навіщо потрібні різні стилі написання

Чому в одному проєкті змінні пишуть camelCase, а файли — kebab-case, і звідки взялись ці правила.

Text Diff: як алгоритми знаходять різницю між текстами

Як diff-алгоритм знаходить мінімальний набір змін між двома версіями тексту.

Регулярні вирази: основний синтаксис і типові патерни

Як читати регулярний вираз і чим жадібний пошук відрізняється від лінивого.

Сортування та видалення дублікатів рядків: навіщо це потрібно

Чому числове сортування «10» перед «9» — це помилка, і як цього уникнути.

String Escape: чому той самий текст треба екранувати по-різному

Чому той самий символ лапок екранується по-різному в JS-рядку, JSON і shell-команді.

Підрахунок символів і слів: чому це не завжди тривіально

Чому емодзі чи символи з діакритикою можуть рахуватись як кілька символів одразу.

Lorem Ipsum: звідки взявся текст-заповнювач і навіщо він потрібен

Чому дизайнери навмисно використовують «безглуздий» текст замість реального контенту в макетах.

Slugify: як перетворити довільний текст на URL-адресу

Як заголовок «Привіт, Світ!» перетворюється на URL-сумісний рядок вигляду pryvit-svit.

Markdown: чому простий текстовий синтаксис переміг складні редактори

Чому розробники обирають писати документацію в Markdown, а не в форматованому текстовому редакторі.

Пробіли та невидимі символи: прихована причина дивних багів

Чому два на вигляд однакові рядки можуть не збігатися при порівнянні через невидимий символ.

Text Reverse: чому «перевернути текст» складніше, ніж здається

Чому наївний реверс рядка може перетворити емодзі на непридатні для показу байти.

Частотний аналіз тексту: навіщо рахувати повторення слів

Як частота літер у зашифрованому тексті допомагає зламати найпростіші шифри підстановки.