paper&honey

CSV 한글 깨짐 해결

엑셀에서 CSV 파일을 열었을 때 한글이 깨져 보인다면 인코딩 문제입니다. 파일을 선택하면 브라우저 안에서만 인코딩을 감지해 엑셀이 정확히 인식하는 UTF-8(BOM)로 바꿔주며, 파일은 서버로 전송되지 않습니다.

여기로 CSV 파일을 끌어다 놓으세요

변환 옵션

사용법

  1. 위 영역에 한글이 깨지는 CSV 파일을 끌어다 놓거나 파일 선택 버튼으로 선택합니다.
  2. 감지된 인코딩 배지와 미리보기에서 한글이 올바르게 보이는지 확인합니다.
  3. 대부분의 경우 기본 선택된 '엑셀용 UTF-8 (BOM 포함)' 옵션을 그대로 둡니다.
  4. 다운로드 버튼을 눌러 변환된 파일을 받은 뒤 엑셀에서 다시 열어 한글이 정상으로 보이는지 확인합니다.

이런 상황에서 유용합니다

  • 은행이나 카드사 사이트에서 내려받은 거래내역 CSV를 엑셀로 열었더니 적요란의 한글이 전부 깨져서 어떤 지출인지 알아볼 수 없을 때
  • 쇼핑몰 관리자 페이지에서 내려받은 주문 목록의 고객 이름과 배송지 주소가 물음표나 알 수 없는 문자로 표시될 때
  • 개발팀이나 외주 업체가 데이터베이스에서 뽑아 보내준 CSV가 다른 프로그램에서는 멀쩡한데 유독 엑셀에서만 한글이 깨질 때
  • 설문조사 플랫폼에서 내려받은 응답 파일의 주관식 답변을 엑셀로 정리하려는데 한글 응답이 전부 외계어처럼 보일 때
  • 반대로 윈도우 엑셀에서 저장한 CSV를 구글 시트에 올렸더니 한글이 깨져서 BOM 없는 UTF-8로 다시 저장해야 할 때

변환한 파일의 글자수를 확인하려면 글자수 세기 도구를, 첨부할 이미지 용량이 크다면 이미지 용량 줄이기 도구를 이용해 보세요.

자주 묻는 질문

왜 엑셀에서 CSV 한글이 깨지나요?
엑셀은 확장자가 .csv인 파일을 열 때 파일에 BOM(순서 표시)이 없으면 인코딩을 EUC-KR(한글 완성형)로 추측해서 읽습니다. 하지만 실제 파일이 BOM 없는 UTF-8로 저장돼 있으면 한글 한 글자가 여러 바이트로 나뉘어 있는데 이를 EUC-KR 방식으로 잘못 해석해 깨진 문자로 표시됩니다. 이 도구로 UTF-8에 BOM을 붙여 다시 저장하면 엑셀이 인코딩을 정확히 인식합니다.
BOM이 뭔가요?
BOM(Byte Order Mark)은 파일 맨 앞에 붙는 몇 바이트짜리 표시로, 이 파일이 어떤 인코딩으로 저장됐는지 프로그램에게 알려주는 역할을 합니다. UTF-8 BOM은 EF BB BF라는 세 바이트이며 실제 텍스트 내용에는 영향을 주지 않고 인코딩 판별용으로만 쓰입니다. 엑셀은 이 BOM을 보고서야 UTF-8로 정확히 해석하기 때문에 한국에서 만든 CSV에는 BOM을 붙이는 것이 안전합니다.
파일이 서버로 올라가나요?
아니요. 이 도구는 브라우저 안에서만 파일을 읽고 인코딩을 변환하며 선택한 파일은 서버로 전송되지 않습니다. 변환과 다운로드 과정이 모두 사용자의 기기 안에서 끝나기 때문에 고객 명단이나 개인정보가 담긴 CSV도 안심하고 사용할 수 있습니다.
EUC-KR로 저장은 왜 안 되나요?
브라우저가 표준으로 제공하는 TextEncoder는 UTF-8 인코딩만 지원하고 EUC-KR 같은 완성형 인코딩으로의 저장 기능은 제공하지 않아 이 도구에서는 EUC-KR로 저장하는 기능을 만들 수 없습니다. EUC-KR로 저장된 CSV가 꼭 필요하다면 엑셀에서 파일을 연 뒤 다른 이름으로 저장 메뉴에서 'CSV(쉼표로 분리)' 형식을 선택해 저장하는 방법을 대안으로 쓸 수 있습니다.
구글 시트나 맥 엑셀에서도 이 문제가 있나요?
구글 시트는 대부분 UTF-8을 기본으로 처리하기 때문에 BOM 없는 UTF-8 CSV를 올려도 한글이 깨지지 않고 잘 열립니다. 반대로 EUC-KR로 저장된 CSV를 구글 시트에 올리면 한글이 깨질 수 있어 이때는 이 도구로 먼저 UTF-8로 바꾼 뒤 업로드하는 것이 안전합니다. 맥의 엑셀도 최신 버전은 대부분 BOM 있는 UTF-8을 잘 인식하지만 오래된 버전에서는 여전히 EUC-KR로 추측하는 경우가 있어 BOM 포함 옵션을 권장합니다.