JSON ↔ CSV 변환기
한글 환경에서 깨지지 않는 UTF-8 BOM + CRLF CSV 양방향 변환. Excel 한국어판 자동 호환. 클라이언트 사이드 처리(서버 미전송).
변환 결과
왼쪽에 데이터를 붙여넣고 변환하기를 눌러주세요.
이 도구는 무엇인가요
JSON↔CSV 변환기는 JSON 배열을 CSV 파일로, 또는 CSV를 JSON 배열로 변환하는 브라우저 기반 실무 유틸입니다. 데이터는 서버로 전송되지 않고 브라우저 안에서만 처리됩니다. JSON→CSV 방향에서는 한국 엑셀 환경에서 한글이 깨지는 원인인 BOM(Byte Order Mark) 자동 추가와 Windows CRLF 줄바꿈 옵션을 기본으로 제공합니다. CSV→JSON 방향에서는 구분자(쉼표·세미콜론·탭)를 자동 감지하고, 따옴표로 묶인 셀·줄바꿈 포함 셀·이스케이프된 따옴표를 RFC 4180 규격에 따라 올바르게 파싱합니다. 변환 결과는 복사하거나 파일로 다운로드할 수 있습니다.
이런 분이 사용합니다
- API JSON 응답을 엑셀·구글 시트에서 바로 열 수 있는 CSV로 변환
- 엑셀에서 내보낸 CSV를 데이터베이스 INSERT나 REST API 바디용 JSON으로 변환
- 한국어 데이터 CSV 작업 시 BOM + CRLF 설정으로 엑셀 한글 깨짐 문제 해결
- 개발·QA 과정에서 테스트 데이터를 빠르게 형식 전환
- 데이터 분석팀: Pandas·BigQuery 업로드 전 JSON 정규화 또는 CSV 스키마 확인
사용 방법 (3단계)
- 1방향 전환 버튼으로 'JSON → CSV' 또는 'CSV → JSON' 중 하나를 선택하세요. 방향 전환 시 예시 데이터가 자동으로 교체됩니다.
- 2입력창에 변환할 텍스트를 붙여넣거나 수정하세요. JSON은 객체 배열([ {...}, {...} ]) 형식이어야 하며, CSV는 첫 행이 헤더(열 이름)인 경우 '헤더 포함' 옵션을 켜두세요.
- 3옵션(BOM 포함·CRLF·헤더 유무·숫자 자동 변환)을 확인한 뒤 '변환하기'를 클릭하세요. 결과를 복사하거나 파일로 다운로드할 수 있습니다. 행·열 수가 요약으로 표시됩니다.
변환 규칙 · 기술 기준
[JSON → CSV] - 헤더: 첫 번째 객체의 키 순서를 따름 - 셀 이스케이프: 쉼표·줄바꿈·큰따옴표 포함 시 큰따옴표로 감쌈. 내부 큰따옴표는 ""(두 번)으로 이스케이프 (RFC 4180) - BOM: UTF-8 BOM(EF BB BF) — Excel(한국)의 한글 인코딩 오류 방지 - 줄바꿈: CRLF(\r\n) — Windows Excel 호환 [CSV → JSON] - 구분자 자동 감지: 첫 행에서 쉼표·세미콜론·탭 중 가장 많은 것 - 따옴표 셀 파싱: 여는 따옴표~닫는 따옴표 사이를 하나의 셀로 처리 (내부 줄바꿈 보존) - 숫자 변환: '-123.45' 같이 부호·숫자·점만으로 구성된 값은 number 타입으로 자동 변환 (옵션) - BOM 제거: 입력에 UTF-8 BOM이 있으면 자동 제거 - 빈 행 무시: 파싱 시 빈 행 자동 건너뜀
실제 사례
사례 1: API 응답 JSON을 엑셀용 CSV로
API에서 받은 [{"name":"홍길동","age":30,"city":"서울"}, ...] 형태 JSON을 붙여넣고 JSON→CSV로 변환. BOM+CRLF 옵션 활성화 후 다운로드하면 Windows Excel에서 한글이 깨지지 않고 바로 열립니다. 열 순서는 첫 객체의 키 순서(name, age, city)를 따릅니다.
사례 2: 엑셀 CSV를 JSON으로 — 쉼표·따옴표 포함 주소 데이터
주소 셀에 '서울특별시, 강남구'처럼 쉼표가 포함된 경우 엑셀은 자동으로 큰따옴표로 감쌉니다. 이 도구는 해당 셀을 RFC 4180 규격에 따라 하나의 필드로 올바르게 파싱해 JSON address 키에 '서울특별시, 강남구' 그대로 들어갑니다.
사례 3: 숫자 자동 변환 옵션
CSV 열에 '30', '1234.5' 같이 숫자처럼 보이는 값이 있을 때 '숫자 자동 변환' 옵션을 켜면 JSON에서 number 타입으로 변환됩니다(예: age: 30). 꺼두면 모두 string 타입(age: "30")으로 유지됩니다. DB INSERT·API 연동 시 타입이 중요한 경우 반드시 확인하세요.
자주 묻는 질문
한국 엑셀에서 CSV를 열면 한글이 깨지는 이유는 무엇인가요?
Windows용 Excel은 BOM이 없는 UTF-8 CSV를 시스템 로캘(한국어 Windows에서는 CP949/EUC-KR)로 잘못 해석합니다. UTF-8로 저장된 한글이 EUC-KR로 읽히면서 글자가 깨집니다. 이 도구의 'UTF-8 BOM 포함' 옵션을 켜면 파일 앞에 BOM(EF BB BF) 3바이트가 추가되어 Excel이 UTF-8임을 인식하고 한글을 정확히 표시합니다.
JSON 입력 형식에 제한이 있나요?
JSON→CSV 변환 시 최상위가 반드시 객체 배열([ {...}, {...} ])이어야 합니다. 단일 객체 { ... }나 중첩 배열, 원시값 배열(숫자·문자열만 있는 배열)은 지원하지 않습니다. 중첩 객체(객체 안의 객체)는 JSON.stringify로 직렬화되어 하나의 셀로 들어갑니다.
세미콜론(;)으로 구분된 CSV도 처리할 수 있나요?
네. CSV→JSON 방향에서 구분자를 자동 감지하므로 첫 행에서 쉼표·세미콜론·탭 중 가장 많이 등장하는 것을 자동으로 사용합니다. 유럽식 CSV는 보통 세미콜론을 사용하는데, 자동 감지가 잘 작동합니다. 감지 결과가 잘못됐다면 첫 행 내용을 확인하세요.
변환 시 열 개수가 맞지 않으면 어떻게 되나요?
CSV→JSON 방향에서 특정 행의 열 수가 헤더 열 수와 다르면 경고 메시지가 표시됩니다(row.N.colMismatch). 해당 행은 가능한 범위까지 파싱하며, 열이 부족한 경우 빈 문자열로 채워집니다. 변환 자체는 중단되지 않습니다.
데이터가 서버로 전송되나요?
아닙니다. 모든 변환은 브라우저 JavaScript 안에서만 처리됩니다. 입력 데이터·결과 데이터 모두 네트워크로 전송되지 않습니다. 개인정보·업무 기밀이 포함된 데이터도 안전하게 변환할 수 있습니다.
다운로드 파일 이름을 변경할 수 있나요?
현재 다운로드 버튼은 'worktool-[타임스탬프].csv(또는 .json)' 형태로 파일을 저장합니다. 원하는 파일명은 다운로드 후 파일 탐색기에서 직접 변경하세요. 브라우저 자체 '다른 이름으로 저장' 대화상자를 통해 저장 위치와 이름을 바꿀 수 있습니다.
주의사항
- •JSON 입력은 객체 배열([ {...}, {...} ]) 형식이어야 합니다. 단일 객체·원시값 배열은 오류가 발생합니다.
- •중첩 객체(객체 안의 객체·배열)는 JSON 문자열로 직렬화되어 하나의 CSV 셀에 들어갑니다. 구조를 펼쳐서 입력해야 원하는 열 분리가 가능합니다.
- •EUC-KR(CP949) 인코딩 CSV는 직접 지원하지 않습니다. 먼저 메모장·VS Code 등에서 UTF-8로 저장 후 사용하세요.
- •브라우저 메모리 제한으로 매우 큰 파일(수만 행 이상)은 처리 속도가 느려지거나 탭이 다운될 수 있습니다.
- •숫자 자동 변환 옵션 활성화 시 전화번호·우편번호처럼 앞자리가 0인 값이 숫자로 변환되어 0이 사라질 수 있습니다. 이 경우 옵션을 끄고 변환하세요.
최종 검토일: 2026-06-17