개행문자 변환기
CRLF, LF 등 개행문자를 변환합니다. Windows, Unix/Linux/Mac, Old Mac 형식 간 변환을 지원합니다.
참고: 브라우저 특성상 붙여넣기는 자동으로 LF로 변환됩니다. CRLF/CR 테스트는 파일 불러오기 또는 아래 샘플 버튼을 이용하세요.
개행문자 변환기 안내
개행문자란?
개행문자(Line Ending)는 텍스트 파일에서 한 줄의 끝을 표시하는 보이지 않는 특수 문자입니다. 문제는 운영체제마다 서로 다른 개행문자를 사용한다는 점입니다. Windows는 CRLF(\r\n), Unix/Linux/macOS는 LF(\n), 클래식 Mac OS는 CR(\r)을 사용합니다. 이 차이 때문에 서로 다른 OS에서 만든 파일을 열거나 공유할 때 글자 깨짐, 스크립트 오류 등 여러 문제가 생길 수 있습니다.
시작하기
- 입력창에 변환할 텍스트를 붙여넣거나 직접 입력합니다. 파일을 드래그하여 업로드할 수도 있습니다.
- '형식 감지' 버튼을 눌러 현재 사용 중인 개행문자 형식을 확인합니다.
- 변환 대상 형식 버튼(LF, CRLF, CR) 중 하나를 클릭합니다.
- 변환된 결과를 '복사' 버튼으로 클립보드에 복사하거나 파일로 다운로드합니다.
기능 소개
- 현재 텍스트의 개행문자 형식 자동 감지(LF, CRLF, CR, Mixed)
- LF, CRLF, CR 간 원클릭 변환
- 각 형식별 개행문자 개수 통계 표시
- 변환 결과 복사 및 다운로드 지원
- 파일 업로드를 통한 텍스트 불러오기
- 실시간 변환 결과 미리보기
주의할 점
- 현대 프로젝트에서는 LF를 표준으로 사용하는 것이 일반적입니다. Git도 LF를 기본으로 선호합니다.
- Visual Studio Code, IntelliJ 등 대부분의 에디터에서 개행문자를 설정할 수 있지만, 기존 파일은 수동으로 변환해야 합니다.
- 바이너리 파일(이미지, 실행 파일 등)은 개행문자 변환 대상이 아닙니다. 텍스트 파일에만 적용하세요.
- .gitattributes에서
* text=auto를 설정하면 Git이 커밋 시 자동으로 LF로 변환합니다. - Dockerfile, Makefile 등은 반드시 LF를 사용해야 합니다. CRLF를 사용하면 빌드 오류가 발생할 수 있습니다.
활용 팁
- Windows에서 작성한 셸 스크립트(.sh)를 Linux 서버에 배포하기 전 LF로 변환
- Git 협업 시 개행문자 불일치로 인한 불필요한 diff 변경사항 해결
- .gitattributes 설정 전에 기존 파일의 개행문자를 통일
- CSV나 설정 파일을 다른 OS 환경으로 옮길 때 호환성 확보
- CI/CD 파이프라인에서 스크립트 실행 오류 디버깅
자주 하는 질문
Q: 왜 개행문자를 변환해야 하나요?
Windows에서 작성한 파일을 Linux 서버에 올리거나 Git으로 협업할 때, 개행문자 불일치로 셸 스크립트가 실행되지 않거나 diff에서 모든 줄이 변경된 것으로 표시되는 문제가 생깁니다. 개행문자를 통일하면 이런 문제를 방지할 수 있습니다.
Q: Mixed 형식은 무엇인가요?
하나의 파일에 LF, CRLF, CR이 섞여 있는 상태입니다. 서로 다른 OS에서 같은 파일을 편집하면 자주 발생합니다. 코드 품질과 일관성을 위해 하나의 형식으로 통일하는 것이 좋습니다.
Q: LF, CRLF, CR 중 어떤 것을 써야 하나요?
대부분의 경우 LF를 권장합니다. Git, Docker, 대부분의 CI 도구가 LF를 기본으로 사용합니다. Windows 전용 레거시 프로젝트가 아니라면 LF를 선택하세요.
Q: Git에서 개행문자 문제를 방지하려면?
프로젝트 루트에 .gitattributes 파일을 만들고 * text=auto를 추가하세요. 그러면 Git이 커밋할 때 자동으로 LF로 변환하고, 체크아웃 시에는 OS에 맞는 형식으로 복원합니다.
Q: Windows에서 LF 파일을 편집하면 CRLF로 바뀌나요?
에디터 설정에 따라 다릅니다. VS Code나 대부분의 현대 에디터는 파일의 기존 개행문자를 유지합니다. 에디터 하단 상태바에서 현재 개행문자 형식을 확인하고 변경할 수 있습니다.
Q: 개행문자 변환으로 파일 내용이 바뀌나요?
눈에 보이는 텍스트 내용은 동일합니다. 바뀌는 것은 줄 끝의 보이지 않는 제어 문자뿐입니다. 하지만 바이트 단위에서는 파일 크기가 미세하게 달라질 수 있습니다(CRLF는 LF보다 줄당 1바이트 큼).
Q: 셸 스크립트가 실행되지 않을 때 개행문자가 원인일 수 있나요?
네, 매우 흔한 원인입니다. Linux에서 CRLF 개행문자가 포함된 스크립트를 실행하면 "bad interpreter" 또는 "\r: command not found" 같은 오류가 발생합니다. LF로 변환하면 해결됩니다.
Q: 서버에 텍스트가 전송되나요?
아닙니다. 모든 개행문자 감지와 변환은 브라우저에서 처리됩니다. 입력한 텍스트는 외부로 전송되지 않으므로 코드나 설정 파일도 안심하고 변환할 수 있습니다.