엑셀 한글 깨짐 100% 방지 솔루션

CSV를 엑셀에서 바로 읽히는 XLSX로 변환

UTF-8 / EUC-KR 인코딩 차이로 발생하는 한글 깨짐을 완벽하게 해결합니다. 클릭 한 번으로 엑셀 파일(.xlsx)로 다운로드하거나 구글 스프레드시트로 전송하세요.

CSV 파일을 이곳으로 드래그하거나 클릭하여 선택하세요

한글이 깨지는 CSV를 올리면 엑셀에서 바로 정상 작동하는 .xlsx 파일로 즉시 변환됩니다.

업로드 가능한 파일 용량은 최대 50MB입니다.

컴퓨터에서 파일 찾기
100% 브라우저 내 로컬 처리 (서버로 데이터가 전송되지 않아 안심)
지원 형식: .csv, .tsv (UTF-8, EUC-KR, CP949 자동 감지) · 최대 50MB

한글 깨짐 제로 (XLSX)

마이크로소프트 공식 바이너리 규격으로 생성하여 엑셀 더블 클릭 시 글자가 깨지지 않습니다.

Google Sheets 원클릭 전송

구글 시트 새 문서를 즉시 열고 클립보드 데이터를 붙여넣어 클라우드에서 바로 협업하세요.

100% 안전한 로컬 변환

모든 변환 작업은 사용자의 브라우저 내에서만 실행되며 외부 서버로 파일이 유출되지 않습니다.

왜 CSV 파일을 엑셀에서 열면 한글이 항상 깨질까요?

한국어 Windows 환경의 엑셀은 UTF-8 형식의 CSV를 열 때 구형 인코딩인 EUC-KR(CP949)로 오인하여 외계어처럼 표시합니다. 본 변환기에서 .xlsx로 변환하면 엑셀 정식 규격이 적용되어 영구적으로 깨짐이 해결됩니다.

자세한 해결 원리 보기 →
완전 가이드

CSV 한글 깨짐, 왜 생기고 어떻게 해결하나

엑셀에서 CSV를 열었을 때 한글이 二쇰Ц踰�� 처럼 보이는 문제의 원인, 증상별 진단법, 그리고 다시는 재발하지 않게 만드는 해결책을 정리했습니다.

한 줄 요약

한글이 깨지는 이유는 파일이 손상됐기 때문이 아니라, 엑셀이 글자를 저장한 규칙과 다른 규칙으로 읽기 때문입니다. 대부분의 CSV는 UTF-8로 저장되는데 한국어 Windows의 엑셀은 이를 EUC-KR(CP949)로 읽습니다. CSV를 XLSX로 변환하면 인코딩 정보가 파일 안에 포함되므로 이 문제가 영구히 사라집니다.

1. 왜 엑셀에서 CSV를 열면 한글이 깨질까?

컴퓨터는 글자를 그대로 저장하지 않고 숫자(바이트)로 바꿔 저장합니다. 이때 "어떤 글자를 어떤 숫자로 바꿀지" 정한 약속을 문자 인코딩이라고 합니다. 문제는 CSV 파일 안에 "나는 어떤 인코딩으로 저장됐다"는 표시가 들어갈 자리가 없다는 점입니다. 그래서 프로그램이 파일을 열 때 인코딩을 추측하고, 그 추측이 틀리면 글자가 깨집니다.

원본 데이터한글저장디스크에 실제로 기록된 바이트ED959CEAB880UTF-8 규칙으로 인코딩된 6바이트UTF-8 규칙으로 읽음구글 시트 · 메모장 · 이 변환기한글← 정상EUC-KR(CP949) 규칙으로 읽음한국어 Windows 엑셀의 기본 동작�湲← 깨짐바이트는 똑같다. 달라진 것은 "읽는 규칙" 하나뿐이다.
파일이 손상된 것이 아니라, 같은 바이트를 다른 규칙으로 해석해서 생기는 현상입니다.
원인 ①

CSV에는 인코딩 표시가 없다

CSV는 쉼표로 구분된 순수 텍스트일 뿐이라, 인코딩 정보를 담을 헤더가 존재하지 않습니다.

원인 ②

엑셀은 시스템 기본값으로 추측한다

한국어 Windows에서 엑셀이 CSV를 더블 클릭으로 열면 UTF-8이 아닌 CP949로 해석합니다.

원인 ③

요즘 시스템은 전부 UTF-8로 만든다

쇼핑몰 관리자, 구글 시트, 데이터베이스, API는 모두 UTF-8로 CSV를 내보냅니다. 충돌은 필연입니다.

2. 증상별 진단: 깨진 모양만 봐도 원인을 알 수 있다

깨진 글자의 생김새가 곧 단서입니다. 아래 표에서 화면에 보이는 모양을 찾으면 어떤 인코딩이 어긋났는지 바로 알 수 있습니다.

깨진 글자 모양별 원인과 해결 방법
화면에 보이는 모양예시실제 원인해결
알 수 없는 한자·기호가 섞임二쇰Ц踰��UTF-8 파일을 CP949로 읽음 (가장 흔함)XLSX 변환 또는 BOM 추가
ì, ë, í 같은 라틴 문자주문번호UTF-8 파일을 서유럽(Latin-1)으로 읽음XLSX 변환
마름모 물음표 � 가 연속����CP949 파일을 UTF-8로 읽음 (반대 방향)인코딩을 EUC-KR로 지정 후 변환
글자 사이에 빈칸·네모가 낌한 글UTF-16 파일을 8비트 인코딩으로 읽음인코딩을 UTF-16LE로 지정
한글은 멀쩡한데 전부 한 칸에 들어감홍길동,서울,1000인코딩이 아니라 구분자 문제 (쉼표 vs 세미콜론)구분자 옵션 변경
한글은 정상, 010… 이 1.02E+09 로 바뀜1.02E+09깨짐이 아니라 엑셀의 자동 숫자 변환XLSX 변환(기본값이 텍스트 보존)

3. UTF-8, EUC-KR, CP949, UTF-16은 무엇이 다른가

한국에서 CSV를 다룰 때 마주치는 인코딩은 사실상 네 가지입니다. 같은 "한" 한 글자가 각각 몇 바이트로 저장되는지 비교하면 차이가 분명해집니다.

주요 문자 인코딩 비교
인코딩"한"의 바이트주 사용처엑셀 더블클릭 시비고
UTF-8ED 95 9C (3B)웹·API·DB·구글 시트 등 사실상 모든 현대 시스템 깨짐전 세계 표준. 모든 언어 표현 가능
UTF-8 with BOMEF BB BF ED 95 9C엑셀 호환을 의식하고 내보낸 CSV 정상앞 3바이트가 "나는 UTF-8"이라는 서명 역할
EUC-KR / CP949C7 D1 (2B)관공서 시스템, 구형 ERP, 오래된 사내 프로그램 정상한글 전용. CP949는 EUC-KR 확장판(현대 한글 11,172자 지원)
UTF-16LE5C D5 (2B, BOM 별도)일부 공공 포털, SAP, Windows 내부 형식 조건부BOM이 있으면 대체로 인식, 없으면 깨짐

* EUC-KR과 CP949는 실무에서 거의 같은 뜻으로 쓰이지만, 엄밀히는 CP949(=Windows-949)가 EUC-KR을 확장해 현대 한글 11,172자를 모두 담은 상위 집합입니다. 이 변환기는 EUC-KR 선택 시 CP949 영역까지 함께 처리합니다.

4. 해결 방법 세 가지와 각각의 한계

해결책은 크게 세 가지입니다. 결론부터 말하면 XLSX 변환이 유일하게 재발하지 않는 방법입니다.

CSV 한글 깨짐 해결 방법 비교
방법소요 시간재발 여부한계
추천XLSX로 변환약 5초없음 (영구 해결)CSV 형식이 반드시 필요한 시스템에는 업로드 불가
UTF-8 BOM을 붙인 CSV약 5초낮음BOM 3바이트를 이해하지 못하는 구형 시스템·파서에서는 첫 열 이름이 깨질 수 있음
엑셀 [데이터 가져오기] 마법사약 1~2분매번 반복파일을 열 때마다 수동 설정. 엑셀 버전마다 메뉴 위치가 달라 공유하기 어려움

5. XLSX로 바꾸면 왜 다시는 깨지지 않는가

CSV가 "인코딩을 모르는 맨 텍스트"라면, XLSX는 인코딩이 파일 안에 명시된 구조화 문서입니다. XLSX는 사실 여러 XML 파일을 묶은 ZIP 압축 파일이고, 그 XML 첫 줄에encoding="UTF-8"이 선언되어 있습니다. 엑셀은 추측할 필요 없이 이 선언을 그대로 따릅니다. 추측이 사라지므로 깨질 여지도 사라집니다.

원본 CSVUTF-8 / EUC-KR/ UTF-16LE내 브라우저 안에서 처리서버 업로드 없음① 바이트 검사 → 인코딩 판별② 올바른 규칙으로 디코딩③ 표 구조로 재구성.xlsx 파일인코딩이 파일에 명시됨 · 더블클릭해도 정상구글 시트 붙여넣기탭 구분 텍스트로 복사 · Ctrl+V 한 번UTF-8 BOM CSVCSV 형식이 꼭 필요할 때 · BOM 서명 부착
변환 과정 전체가 사용자의 브라우저에서 실행되며, 파일은 외부로 전송되지 않습니다.

6. 변환기 없이 엑셀에서 직접 여는 방법

도구를 쓸 수 없는 환경이라면 엑셀 기본 기능으로도 해결할 수 있습니다. 다만 파일을 열 때마다 반복해야 합니다.

방법 A. 엑셀 [데이터] 탭으로 가져오기 (권장)

  1. 1엑셀에서 빈 통합 문서를 새로 연다.
  2. 2[데이터] 탭 → [텍스트/CSV 가져오기]를 선택한다.
  3. 3문제의 CSV 파일을 고른다.
  4. 4미리보기 창의 [원본 파일] 항목에서 "65001: 유니코드(UTF-8)"를 선택한다.
  5. 5미리보기에서 한글이 정상으로 보이는지 확인하고 [로드]를 누른다.

CSV를 그냥 더블 클릭하면 이 과정을 거치지 않아 다시 깨집니다. 반드시 [가져오기]로 열어야 합니다.

방법 B. 메모장으로 인코딩 바꿔 저장하기

  1. 1CSV 파일을 Windows 메모장으로 연다.
  2. 2한글이 정상으로 보이는지 확인한다. (깨져 보이면 이 방법은 쓸 수 없다)
  3. 3[파일] → [다른 이름으로 저장]을 누른다.
  4. 4하단 [인코딩] 목록에서 "UTF-8 (BOM)" 또는 "ANSI"를 고른다.
  5. 5저장한 뒤 엑셀에서 연다.

파일이 수십 MB 이상이면 메모장이 열지 못하거나 매우 느려집니다.

방법 C. 구글 스프레드시트로 우회하기

구글 시트는 UTF-8을 기본으로 처리하므로 CSV를 그대로 업로드해도 깨지지 않습니다. 구글 드라이브에 CSV를 올려 시트로 연 다음, [파일] → [다운로드] → [Microsoft Excel(.xlsx)]로 내려받으면 깨지지 않는 엑셀 파일을 얻을 수 있습니다. 단, 데이터가 구글 서버에 업로드된다는 점은 감안해야 합니다. 사내 기밀·개인정보가 담긴 파일이라면 브라우저 안에서만 처리하는 이 변환기가 더 안전합니다.

7. 애초에 깨지지 않게 내보내는 법 (개발자·실무자용)

CSV를 만드는 쪽에서 UTF-8 BOM을 붙이면 받는 사람이 겪는 문제가 사라집니다. 주요 환경별 방법입니다.

환경별 UTF-8 BOM CSV 내보내기 방법
환경방법
Pythonopen(path, 'w', encoding='utf-8-sig', newline='')
pandasdf.to_csv(path, encoding='utf-8-sig', index=False)
Node.jsfs.writeFileSync(path, '' + csv, 'utf8')
PHPfwrite($fp, "\xEF\xBB\xBF"); // 헤더 출력 전
Javaout.write(''); // OutputStreamWriter(UTF_8)
엑셀에서 저장[다른 이름으로 저장] → 파일 형식 "CSV UTF-8(쉼표로 분리)" 선택

8. 자주 묻는 질문

Q. CSV 파일이 손상된 건가요?

아닙니다. 파일 안의 바이트는 그대로이고, 읽는 규칙만 어긋난 상태입니다. 올바른 인코딩으로 다시 읽으면 원래 글자가 그대로 복원됩니다. 깨진 화면을 그대로 저장하지만 않으면 데이터는 손실되지 않습니다.

Q. 깨진 상태로 저장하면 어떻게 되나요?

그때는 실제로 데이터가 손상됩니다. 깨진 글자가 새 바이트로 기록되어 원본 정보가 사라지기 때문입니다. 깨진 파일을 열었다면 저장하지 말고 닫은 뒤, 원본으로 다시 시작해야 합니다.

Q. BOM이 정확히 무엇인가요?

Byte Order Mark의 줄임말로, 파일 맨 앞에 붙는 EF BB BF 3바이트입니다. 화면에는 보이지 않으며 "이 파일은 UTF-8"이라는 서명 역할을 합니다. 엑셀은 이 서명을 보면 추측을 멈추고 UTF-8로 읽습니다.

Q. EUC-KR과 CP949는 같은 건가요?

실무에서는 거의 같은 뜻으로 쓰입니다. 엄밀히는 CP949(Windows-949)가 EUC-KR을 확장해 현대 한글 11,172자를 모두 담은 상위 집합입니다. EUC-KR만으로는 표현되지 않는 "믜, 쏀" 같은 글자가 CP949에서는 표현됩니다.

Q. 업로드한 파일이 서버로 전송되나요?

전송되지 않습니다. 이 변환기는 파일 읽기, 인코딩 판별, XLSX 생성까지 모든 과정을 사용자의 브라우저 안에서 실행합니다. 네트워크로 파일 내용이 나가지 않으므로 개인정보나 사내 기밀이 담긴 파일도 안전하게 다룰 수 있습니다.

Q. 전화번호 앞의 0이 사라지는 것도 인코딩 문제인가요?

아닙니다. 엑셀이 010-1234와 00123 같은 값을 숫자로 자동 인식하면서 앞자리 0을 지우거나 지수 표기(1.02E+09)로 바꾸는 별개의 문제입니다. 이 변환기는 기본적으로 모든 값을 텍스트로 저장해 원본을 보존하며, 필요할 때만 숫자 변환 옵션을 켤 수 있습니다.

Q. 맥(Mac)에서도 한글이 깨지나요?

맥용 엑셀도 CSV를 열 때 같은 문제가 생길 수 있습니다. 다만 맥은 시스템 기본 인코딩이 UTF-8이라 증상이 덜 나타납니다. 반대로 EUC-KR로 저장된 한국 관공서 파일은 맥에서 더 자주 깨집니다.

Q. 구분자가 쉼표가 아니라 세미콜론이면 어떻게 하나요?

유럽권 엑셀은 쉼표 대신 세미콜론을 쓰는 경우가 많습니다. 이 변환기는 구분자를 자동으로 감지하며, 결과가 이상하면 구분자 옵션에서 세미콜론, 탭, 파이프로 직접 바꿀 수 있습니다.

Q. 얼마나 큰 파일까지 변환되나요?

최대 50MB까지 지원합니다. 브라우저 메모리에서 처리하는 구조이므로 그 이상 크기의 파일은 처리 도중 브라우저가 멈출 수 있어 제한을 두었습니다.

Q. 변환한 XLSX를 다시 CSV로 받을 수 있나요?

가능합니다. UTF-8 BOM CSV 다운로드 버튼을 누르면 BOM 서명이 붙은 CSV로 내려받을 수 있습니다. 원본에서 쓰던 구분자는 그대로 유지됩니다. 이 파일은 엑셀에서 더블 클릭해도 한글이 깨지지 않습니다.

9. 용어 정리

문자 인코딩 (Character Encoding)
글자를 컴퓨터가 저장할 수 있는 숫자(바이트)로 바꾸는 규칙. 저장할 때와 읽을 때 같은 규칙을 써야 글자가 보존된다.
UTF-8
전 세계 문자를 하나의 규칙으로 표현하는 유니코드 인코딩. 한글 한 글자는 3바이트다. 오늘날 웹과 데이터베이스의 사실상 표준.
BOM (Byte Order Mark)
파일 맨 앞에 붙는 보이지 않는 서명 바이트. UTF-8에서는 EF BB BF 3바이트이며, 엑셀이 인코딩을 추측하지 않도록 알려 준다.
CP949 / Windows-949
한국어 Windows의 기본 한글 인코딩. EUC-KR을 확장한 형태이며 한글 한 글자가 2바이트다.
CSV (Comma-Separated Values)
값을 쉼표로 구분해 나열한 순수 텍스트 표 형식. 가볍고 호환성이 높지만 인코딩 정보를 담을 수 없다.
XLSX (Office Open XML)
엑셀 2007 이후의 표준 형식. 여러 XML 문서를 ZIP으로 묶은 구조이며 인코딩이 파일 안에 명시되어 있다.
모지바케 (Mojibake)
인코딩 불일치로 글자가 알아볼 수 없게 깨지는 현상을 가리키는 용어. 일본어 "文字化け"에서 왔다.
구분자 (Delimiter)
한 줄 안에서 열을 나누는 문자. 보통 쉼표를 쓰지만 세미콜론, 탭(TSV), 파이프를 쓰기도 한다.

지금 바로 해결하기

설치도 회원가입도 필요 없습니다. CSV 파일을 올리면 인코딩을 자동으로 판별해 XLSX로 바꿔 드립니다. 모든 처리는 브라우저 안에서만 이뤄집니다.

변환기로 이동