전체 도구 ↗
💻 이 도구는 PC에서 더 편하게 쓸 수 있어요 · 코드 복사·붙여넣기 작업용

JSON → CSV 변환

JSON 배열을 붙여넣으면 엑셀·구글시트용 CSV로 바로 바꿔줍니다 · 데이터는 기기 밖으로 나가지 않아요

JSON 배열CSV 표복사 · 다운로드
CSV 결과쉼표 구분 · UTF-8
브라우저 안에서만 처리 · 서버 전송 없음기기 내 처리무료설치 불필요
광고

설명

객체 배열 형태의 JSON을 CSV 표 형식으로 변환합니다.

광고

다음에 자주 같이 쓰는 도구

서버 API나 데이터베이스 내보내기 결과가 JSON 배열로 제공될 때, 이를 Excel이나 Google Sheets에서 바로 열려면 CSV 형식으로 변환해야 합니다. 이 도구는 JSON 배열을 입력하면 헤더와 데이터 행이 올바르게 정렬된 CSV 파일로 변환해줍니다. 설치나 로그인 없이 브라우저에서 즉시 사용할 수 있습니다.

사용 방법

입력창에 JSON 배열(예: [{"name":"홍길동","age":30}, ...])을 붙여넣고 '변환'을 누르면 모든 객체의 키를 모아 CSV 헤더로 만들어 변환합니다. 변환 결과는 결과 카드에서 바로 확인할 수 있고, '복사' 버튼으로 클립보드에 담거나 '다운로드' 버튼으로 UTF-8(BOM 포함) .csv 파일로 저장할 수 있습니다. 표준 CSV(쉼표 구분)로 출력하므로 Excel·Google Sheets에서 바로 열 수 있습니다.

이럴 때 유용해요

쇼핑몰 주문 내역, 회원 목록, 설문 응답 등 반복적인 레코드 구조를 가진 JSON 데이터를 스프레드시트로 분석해야 할 때 가장 유용합니다. 개발자가 API 테스트 결과를 기획자나 운영자에게 전달할 때, 코드 작성 없이 바로 읽을 수 있는 CSV로 건네줄 수 있습니다. 또한 데이터 마이그레이션 작업에서 JSON 덤프를 CSV로 바꿔 스프레드시트에서 데이터 정합성을 검토하는 용도로도 자주 쓰입니다.

자주 하는 실수

JSON 배열이 아닌 단일 객체({...})를 입력하면 변환이 되지 않거나 결과가 예상과 다를 수 있습니다. 반드시 [{...}, {...}] 형태의 배열이어야 합니다. 객체 내에 중첩 객체나 배열이 있으면 해당 값이 JSON 문자열로 그대로 들어가는데, 이 경우 Excel에서 셀 내용을 추가로 파싱해야 합니다. 또한 문자열 값에 쉼표가 포함된 경우 자동으로 큰따옴표로 감싸져 처리되므로, CSV를 열었을 때 의도치 않게 따옴표가 보인다면 이 때문입니다.

자주 묻는 질문

배열 안에 객체마다 키가 다르면 어떻게 되나요?
이 도구는 배열 전체를 스캔해 등장하는 모든 키를 합쳐 헤더를 만듭니다. 특정 객체에 없는 키는 해당 행에서 빈 값으로 처리됩니다.
한글 데이터를 Excel에서 열었을 때 깨지는 경우가 있나요?
Excel은 CSV를 시스템 기본 인코딩(Windows에서 EUC-KR)으로 열기 때문에 UTF-8 CSV를 바로 열면 한글이 깨질 수 있습니다. 이 도구는 UTF-8 BOM 옵션을 제공하며, BOM을 포함해 다운로드하면 Excel이 UTF-8로 자동 인식해 한글이 정상 표시됩니다.
중첩된 JSON 구조도 변환되나요?
중첩 객체나 배열은 JSON 문자열 형태로 셀에 들어갑니다. 평탄화(flatten)가 필요하다면 변환 전에 JSON 구조를 직접 수정하거나 전처리 과정이 필요합니다.
변환 후 숫자가 문자로 처리되지 않나요?
CSV는 모든 값을 텍스트로 저장하는 형식입니다. JSON의 숫자 타입도 CSV에서는 문자열로 표현되지만, Excel이나 Google Sheets는 숫자처럼 생긴 값을 자동으로 숫자 셀로 인식하므로 연산에 문제가 없습니다.
파일 크기 제한이 있나요?
서버를 거치지 않고 브라우저에서 처리하므로 별도의 파일 크기 제한은 없습니다. 다만 수만 건 이상의 대용량 데이터는 브라우저 메모리 사용량이 증가해 처리 속도가 느려질 수 있습니다.

개인정보처리방침

이 도구의 변환 방식

JSON 배열을 붙여넣으면 각 객체를 CSV 한 행으로 펼쳐 줍니다. 처리 순서는 이렇습니다. 먼저 배열 안의 모든 객체를 훑어 키(key)를 수집하고, 그 합집합을 CSV의 첫 줄(헤더)로 만듭니다. 그다음 객체마다 헤더 순서대로 값을 채우며, 어떤 객체에 없는 키는 빈 칸으로 둡니다. 즉 [{"이름":"김","나이":30},{"이름":"이","도시":"서울"}]이름,나이,도시 세 컬럼으로 정리되고 빠진 값은 공란이 됩니다. 모든 계산은 브라우저 안에서만 일어나며 입력한 데이터는 서버로 전송되지 않습니다.

따옴표·쉼표·줄바꿈 처리

CSV는 쉼표로 칸을 나누기 때문에, 값 안에 쉼표·큰따옴표·줄바꿈이 들어 있으면 그 값을 큰따옴표로 감쌉니다. 값 내부의 큰따옴표는 두 개("")로 이스케이프합니다. 예를 들어 주소: "서울, 강남구" 같은 값은 CSV에서 "서울, 강남구"로 나가 엑셀에서 한 칸으로 정확히 읽힙니다. 이 규칙(RFC 4180)을 지키기 때문에 그냥 쉼표로 이어 붙이는 방식보다 데이터가 깨지지 않습니다.

중첩 객체·배열은 어떻게 되나

CSV는 평평한 표 구조라 계층을 표현하지 못합니다. 그래서 값이 객체나 배열이면 그 값을 JSON 문자열 그대로 한 칸에 넣습니다. 예를 들어 {"태그":["A","B"]}태그 컬럼에 ["A","B"]가 통째로 들어갑니다. 계층 데이터를 온전한 표로 펼치려면, 변환 전에 원본 JSON에서 주소.도시처럼 필요한 필드를 최상위로 꺼내 두는 편이 결과가 깔끔합니다.

이럴 때 씁니다

상황활용
API 응답 저장REST API로 받은 목록 JSON을 엑셀·구글시트에서 열어 검수·집계
DB 조회 결과 공유개발자가 뽑은 JSON을 비개발자 동료에게 스프레드시트로 전달
로그·이벤트 정리기록된 JSON 로그를 표로 바꿔 피벗·필터로 분석
일회성 마이그레이션다른 툴에 CSV로 넣기 전 형식만 빠르게 변환

실전 팁

엑셀에서 한글이 깨지면 파일 인코딩 문제일 수 있으니, 저장 시 UTF-8(BOM 포함)로 여는 것을 확인하세요. 또 숫자 앞의 0(예: 우편번호 03187)은 엑셀이 자동으로 지우므로, 그대로 보존하려면 원본 JSON에서 문자열로 두거나 엑셀에서 해당 열을 텍스트로 지정한 뒤 붙여넣으세요. 최상위가 객체 하나(배열이 아님)라면 [ ]로 감싸 배열로 만든 뒤 변환하면 한 행짜리 CSV가 나옵니다.

자주 묻는 질문

JSON이 배열이 아니라 객체 하나여도 되나요?

이 도구는 객체 배열을 기준으로 각 객체를 한 행으로 만듭니다. 단일 객체는 대괄호로 감싸 [{ ... }] 형태로 바꾸면 한 행짜리 CSV로 변환됩니다.

객체마다 키가 다른데 어떻게 처리되나요?

모든 객체의 키를 모아 합집합으로 헤더를 만듭니다. 특정 행에 없는 키는 빈 칸으로 채워지므로 데이터가 밀리지 않고 컬럼이 정렬됩니다.

구분자를 쉼표 대신 세미콜론이나 탭으로 바꿀 수 있나요?

이 도구는 표준 CSV인 쉼표를 사용합니다. 한국어 엑셀에서 쉼표 CSV가 한 칸에 몰려 보인다면, 엑셀의 데이터 → 텍스트 나누기에서 쉼표를 구분자로 지정하면 정상적으로 열립니다.

입력한 데이터가 외부로 전송되나요?

아니요. 변환은 브라우저 안에서만 실행되며 JSON 데이터를 서버로 보내지 않습니다. 민감한 데이터도 이 페이지를 벗어나지 않습니다.