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