CSV 한글 깨짐 해결
한글이 깨지는 CSV 파일을 넣으면 인코딩을 알아내고, 엑셀에서 바로 열리는 UTF-8 BOM이나 EUC-KR로 바꿔 저장합니다. 파일은 서버로 올리지 않습니다.
CSV 파일을 여기에 놓아주세요
CSV·TSV·TXT · 20MB까지 · 서버로 올리지 않음
미리보기 (처음 12줄)
상황별로 고르는 인코딩
| 상황 | 원인 | 이렇게 고르세요 |
|---|---|---|
| 엑셀(윈도우)에서 CSV를 열었더니 한글이 깨짐 | BOM 없는 UTF-8 파일을 엑셀이 EUC-KR로 읽음 | 저장할 인코딩: UTF-8 BOM |
| 맥 엑셀에서 한글이 깨짐 | 윈도우와 같은 이유 | 저장할 인코딩: UTF-8 BOM |
| 구글 시트·노션·맥 Numbers로 올렸더니 깨짐 | EUC-KR 파일을 UTF-8로 읽음 | 저장할 인코딩: UTF-8 |
| 공공기관에서 받은 CSV가 파이썬·R에서 깨짐 | EUC-KR(CP949)로 저장된 파일 | 저장할 인코딩: UTF-8 |
| 은행·관공서 업로드가 EUC-KR만 받음 | 오래된 시스템이 UTF-8을 못 읽음 | 저장할 인코딩: EUC-KR (CP949) |
| DBeaver 등에서 내보낸 CSV가 엑셀에서 깨짐 | UTF-8로 내보냈지만 BOM이 없음 | 저장할 인코딩: UTF-8 BOM |
UTF-8, BOM, EUC-KR이 뭔가요?
- UTF-8: 전 세계 글자를 담는 표준 인코딩입니다. 웹, 구글 시트, 맥, 파이썬이 기본으로 씁니다.
- BOM: 파일 맨 앞에 붙는 3바이트 표시(EF BB BF)로, "이 파일은 UTF-8"이라고 알려 줍니다. 엑셀은 이 표시가 있어야 UTF-8로 읽습니다.
- EUC-KR(CP949): 한국어 윈도우의 옛 기본 인코딩입니다. 엑셀이 BOM 없는 CSV를 이 방식으로 읽습니다.
다른 개발·데이터 도구
자주 묻는 질문
CSV 파일에서 한글이 깨지는 이유는 무엇인가요?
한글을 저장하는 방식(인코딩)이 UTF-8과 EUC-KR(CP949) 두 가지로 나뉘기 때문입니다. 파일은 UTF-8로 저장됐는데 한국어 윈도우의 엑셀은 앞에 BOM이라는 표시가 없으면 EUC-KR로 읽어서 글자가 깨집니다. 반대로 EUC-KR 파일을 UTF-8로 읽는 프로그램에서도 깨집니다.
CSV 파일에서 한글이 깨지는 문제를 어떻게 해결하나요?
이 페이지에 파일을 넣고 미리보기에서 한글이 제대로 보이는지 확인한 뒤 UTF-8 BOM으로 저장하면 엑셀에서 바로 열립니다. 엑셀 안에서 고치려면 데이터 → 텍스트/CSV에서 → 파일 원본을 65001: 유니코드(UTF-8)로 고르세요.
맥에서 CSV 한글이 깨지는 문제는 어떻게 해결하나요?
맥용 엑셀도 BOM 없는 UTF-8을 제대로 못 읽는 경우가 많습니다. UTF-8 BOM으로 저장하세요. Numbers에서 EUC-KR 파일이 깨진다면 UTF-8로 저장하면 됩니다.
XLS 파일에서 한글이 깨지면 어떻게 하나요?
.xls·.xlsx는 엑셀 전용 형식이라 보통 인코딩 문제가 생기지 않습니다. 확장자만 .xls이고 실제로는 CSV·HTML인 파일이라면 확장자를 .csv로 바꿔 이 페이지에 넣어 보세요.
자동으로 알아내기는 어떻게 판단하나요?
BOM이 있으면 그 표시를 따르고, 없으면 UTF-8 규칙에 맞는지 검사해서 아니면 EUC-KR(CP949)로 봅니다. 미리보기가 이상하면 원본 인코딩을 직접 바꿔 보세요.
EUC-KR로 저장하면 글자가 사라질 수 있나요?
EUC-KR에는 이모지, 일부 한자·특수문자가 없습니다. 그런 글자는 ?로 바뀌고, 어떤 글자가 바뀌었는지 저장 후 알려 줍니다.
파이썬(pandas)에서는 어떻게 읽나요?
EUC-KR 파일은 pd.read_csv(경로, encoding="cp949")로 읽고, 엑셀용으로 저장할 때는 df.to_csv(경로, encoding="utf-8-sig")를 쓰면 BOM이 붙습니다.