Văn bản
CRLF ↔ LF Converter
Chuyển đổi ký tự xuống dòng giữa Windows (CRLF), Unix/macOS (LF) và Mac cổ điển (CR), kèm phát hiện kiểu xuống dòng hỗn hợp.
Trình duyệt tự động chuẩn hóa văn bản dán vào ô này thành LF, nên không thể phát hiện CRLF/CR gốc ở đây — để phân tích hoặc chuyển đổi tệp có CRLF/CR thực, hãy dùng chức năng tải tệp lên ở trên.
Windows, Unix/macOS, and the old classic Mac historically use different characters to mark the end of a line — CRLF, LF, and CR respectively. Mixing these styles in one file often causes odd artifacts in diffs or editors. This tool converts line endings to one style and detects mixed ones.
How to use it
- Paste text and the tool automatically detects the current line-ending style, including a mixed one.
- Pick a target format (CRLF, LF, or CR) and the conversion happens instantly.
- If several styles are found in the same file, that's flagged with a separate warning.
Common uses
- Fixing a file where git diff shows every line as changed because of differing line endings, even though the content itself didn't actually change.
- Converting a text file to the format a specific system or script expects (a Unix script, for instance, expects LF).
- Debugging why a file opened in a Windows editor shows the entire text on one line (a sign of plain LF with no CR).
Things to keep in mind
Git can automate this conversion itself through core.autocrlf or .gitattributes — often more convenient than converting files in a repository by hand.
Mixed line endings in one file aren't always visible at a glance, but they can break parsers or scripts that expect one specific style.
Bài viết về công cụ này: CRLF so với LF: vì sao ký tự cuối dòng vẫn còn quan trọng
Câu hỏi thường gặp
Tại sao ký tự xuống dòng lại khác nhau giữa các hệ điều hành?
Windows dùng CRLF (\r\n), Unix và macOS chỉ dùng LF (\n), còn Mac cổ điển chỉ dùng CR (\r) — những quy ước lịch sử khác nhau này gây ra sự không nhất quán khi tệp di chuyển giữa các hệ thống.
Tại sao tôi cần tải tệp lên thay vì dán văn bản?
Trình duyệt tự động chuẩn hóa mọi văn bản dán vào ô nhập thành LF, vì vậy các ký tự CRLF hoặc CR gốc thực tế sẽ không thể phát hiện được sau khi dán — chỉ có tải tệp trực tiếp mới giữ nguyên ký tự xuống dòng thật để phân tích hoặc chuyển đổi.
Vấn đề này thực sự quan trọng khi nào?
Nó quan trọng nhất với git (diff bị nhiễu do xuống dòng gây ra), các script shell bị lỗi do còn sót CRLF, và các tệp được trao đổi giữa hệ thống Windows và Unix/macOS; tệp tải lên chỉ được xử lý cục bộ trong trình duyệt, không bao giờ gửi lên máy chủ.
Phải làm gì nếu một tệp có cả CRLF lẫn LF trộn lẫn?
Một tệp được chỉnh sửa qua nhiều trình soạn thảo hoặc trên các hệ điều hành khác nhau có thể chứa cả hai kiểu cùng lúc. Cần áp dụng chuyển đổi cho toàn bộ tệp, chứ không chỉ những dòng "đáng ngờ" nhìn thấy được — nếu không một phần kết thúc dòng có vấn đề sẽ vẫn không được phát hiện.
Có thể tự động hóa việc chuyển đổi qua git không?
Có, cài đặt core.autocrlf trong git tự động chuyển đổi ký tự xuống dòng khi checkout và commit, còn .gitattributes cho phép chỉ định rõ kiểu xuống dòng cho từng loại tệp cụ thể trong repository.