CSV 파일을 엑셀에서 열면 한글이 깨질 때
작성일:
쇼핑몰 주문 내역, 은행 거래 내역, 설문 결과처럼 웹사이트에서 내려받은 CSV 파일을 엑셀에서 더블클릭으로 열었는데 한글이 안녕이나 ¾È³ç 같은 이상한 글자로 보일 때가 있습니다. 파일이 망가진 것이 아닙니다. 엑셀이 파일의 문자 인코딩을 잘못 짐작했기 때문입니다.
왜 한글이 깨질까?
CSV 파일은 글자만 담은 텍스트 파일이고, “이 파일은 어떤 방식(인코딩)으로 저장됐다”는 정보를 따로 갖고 있지 않습니다. 한글을 저장하는 방식은 크게 두 가지입니다.
- UTF-8: 전 세계 문자를 담는 표준 방식입니다. 대부분의 웹사이트, 구글 스프레드시트, 맥, 프로그래밍 도구가 이 방식으로 CSV를 만듭니다.
- EUC-KR(CP949): 한국어 Windows가 오래전부터 써 온 방식입니다. 한국어 엑셀에서 그냥 “CSV(쉼표로 분리)“로 저장하면 이 방식이 됩니다.
한국어 Windows의 엑셀은 CSV를 더블클릭하면 기본적으로 EUC-KR로 읽으려고 합니다. 그래서 UTF-8로 만든 CSV를 열면 글자가 깨집니다. 반대로 EUC-KR CSV를 구글 스프레드시트나 맥에서 열면 거기서 깨집니다.
다만 파일 맨 앞에 BOM이라는 3바이트짜리 표시(EF BB BF)가 있으면 엑셀은 “이 파일은 UTF-8이구나” 하고 올바르게 읽습니다. 문제는 많은 웹사이트가 BOM 없이 UTF-8 CSV를 내려준다는 점입니다.
해결 방법 1: 엑셀의 “텍스트/CSV에서” 가져오기
엑셀에서 인코딩을 직접 지정해 여는 방법입니다.
- 엑셀을 열고 빈 통합 문서를 만듭니다.
- 데이터 탭 → 텍스트/CSV에서를 누르고 CSV 파일을 고릅니다.
- 미리보기 창 위쪽의 파일 원본에서 **65001: 유니코드(UTF-8)**를 고릅니다. 한글이 제대로 보이는지 미리보기에서 확인합니다.
- 로드를 누릅니다.
엑셀만으로 해결할 수 있지만, 파일을 열 때마다 이 과정을 반복해야 합니다.
해결 방법 2: CSV를 XLSX로 변환하기
가장 확실한 방법은 CSV를 엑셀 고유 형식인 XLSX로 바꾸는 것입니다. XLSX는 인코딩 문제가 없어서, 한 번 바꿔 두면 누구 컴퓨터에서 열어도 한글이 깨지지 않습니다.
CSV → XLSX 변환기에 파일을 넣으면 UTF-8인지 EUC-KR인지 자동으로 판별해서 읽습니다. 쉼표 대신 세미콜론이나 탭으로 구분된 파일도 알아서 처리합니다. 파일은 브라우저 안에서만 처리되므로 주문 내역이나 거래 내역처럼 민감한 파일도 서버에 올라가지 않습니다.
자동 판별이 틀리는 드문 경우에는 옵션에서 인코딩을 직접 고를 수 있습니다.
해결 방법 3: 엑셀용 CSV(BOM 포함)로 다시 저장하기
CSV 형식을 꼭 유지해야 한다면, UTF-8에 BOM을 붙여서 저장하면 됩니다.
- 엑셀에서 저장할 때: 다른 이름으로 저장 → 파일 형식에서 **CSV UTF-8(쉼표로 분리)**을 고르면 BOM이 붙은 UTF-8로 저장됩니다. 이 파일은 한국어 엑셀과 구글 스프레드시트, 맥 모두에서 잘 열립니다.
- 변환기를 쓸 때: XLSX → CSV와 JSON → CSV 변환기는 기본 설정이 “UTF-8 BOM 포함”이라 결과 파일을 엑셀에서 바로 열어도 한글이 깨지지 않습니다.
어떤 방법을 고를까?
| 상황 | 추천 방법 |
|---|---|
| 파일 하나를 지금 바로 보고 싶다 | 방법 1 (엑셀 가져오기) |
| 여러 사람과 공유하거나 계속 써야 한다 | 방법 2 (XLSX로 변환) |
| 다른 프로그램에 다시 올려야 해서 CSV가 필요하다 | 방법 3 (BOM 포함 UTF-8 CSV) |
깨진 상태로 저장했다면?
한글이 깨진 채로 엑셀에서 저장을 눌렀다면, 깨진 글자 자체가 파일에 기록되어 되돌리기 어렵습니다. 그래서 글자가 깨져 보이면 저장하지 말고 닫은 뒤 위 방법으로 원본 파일을 다시 여는 것이 중요합니다.
정리
CSV 한글 깨짐은 파일이 아니라 인코딩을 짐작하는 방식의 문제입니다. 자주 다루는 파일이라면 XLSX로 변환해 두는 것이 가장 편하고, CSV가 꼭 필요하면 BOM이 포함된 UTF-8로 저장하세요. 인코딩이 무엇인지 더 알고 싶다면 텍스트 인코딩 쉽게 이해하기 가이드를 참고하세요.