JSON → CSV 변환
배열 형태 JSON을 표로 펼쳐 CSV·엑셀에서 바로 쓰세요.
업로드 0 B — 이 페이지는 파일을 서버로 보내지 않았습니다?
다른 변환 사이트는 표를 서버에 올린 뒤 처리하고 일정 시간이 지나면 삭제한다고 안내합니다. 삭제될 때까지 그 데이터는 남의 서버에 그대로 남아 있습니다. 여기에는 올리는 단계 자체가 없습니다. 고객 명단·급여 대장·주민등록번호가 섞인 표처럼 새어 나가면 곤란한 데이터일수록 이 차이가 큽니다. 직접 확인하는 방법 →
다른 표 변환 도구
JSON 배열을 CSV 표로 펼치면 중첩 값과 긴 숫자는 어떻게 되나요?
개발자가 넘겨준 JSON이나 API 응답은 메모장으로 열면 중괄호만 이어져 있어 정렬이나 합계를 낼 수 없습니다. 이 도구는 객체 배열의 키를 모아 열 머리글로 만들고 객체 하나를 한 행으로 펼쳐, 엑셀에서 바로 열리는 CSV로 저장합니다. 펼치는 깊이는 한 단계뿐이라, 중첩된 값이 어떻게 담기는지 알고 쓰면 좋습니다.
조금 더 자세히
열은 모든 객체의 키를 처음 나온 순서대로 모아 만듭니다. 뒤쪽 객체에만 있는 키는 오른쪽 끝에 새 열로 붙고, 그 키가 없는 객체의 칸은 비워 둡니다. 값이 다시 객체나 배열이면 열로 쪼개지 않고 {"city":"서울"} 같은 JSON 글자 그대로 한 칸에 넣으며, CSV 규칙에 따라 안쪽 큰따옴표는 두 번씩 적힙니다. 배열의 배열은 첫 배열이 머리글인 표가 되고, 숫자나 글자만 든 배열은 value라는 열 하나가 됩니다. 키가 하나뿐이고 그 값이 배열인 {"data":[...]} 같은 포장은 자동으로 벗겨집니다.
글자 값은 적힌 그대로 옮겨져 "00123"도 00123으로 남고, true·false는 TRUE·FALSE로, null은 빈 칸이 됩니다. 숫자는 지수 표기 없이 모든 자리로 적혀, 밀리초 타임스탬프 1719812345678도 1.71981E+12가 아니라 그대로 나옵니다. 16자리 이상 정수(긴 주문 번호나 ID)는 읽는 순간 끝자리가 반올림되지 않도록 글자로 옮겨, JSON에 적힌 자리 그대로 나옵니다. 내려받은 CSV에는 UTF-8 BOM이 붙어 엑셀에서 한글이 깨지지 않습니다.
이렇게 쓰세요
- 파일 업로드 탭에서 .json 파일을 고르거나, 텍스트 붙여넣기 탭에 JSON을 넣고 표로 불러오기를 누릅니다. 이 페이지의 붙여넣기는 항상 JSON으로 해석합니다.
- 미리보기 머리글에서 키가 모두 열로 나왔는지, JSON 글자가 통째로 든 중첩 값 열이 있는지 확인합니다.
- CSV 다운로드로 원래 파일 이름의 .csv를 받거나, 결과 복사로 내용을 가져갑니다.
이럴 때 유용해요
자주 막히는 지점
팁 열 순서는 첫 번째 객체의 키 순서를 따르므로, 원하는 열 순서가 있다면 첫 객체의 키만 그 순서로 맞춰 두면 됩니다.
자주 묻는 질문
어떤 JSON 구조를 지원하나요?
객체 배열 [{...},{...}]이 기본입니다. 배열의 배열([[...],[...]])은 그대로 표가 되고, {"data":[...]}처럼 배열 하나를 감싼 객체도 자동으로 풀어 읽습니다. 중첩된 객체·배열 값은 JSON 문자열로 셀에 들어갑니다.
키가 객체마다 다르면 어떻게 되나요?
모든 객체의 키를 합쳐 열을 만들고, 값이 없는 칸은 비워 둡니다.
한글이 깨져 보여요 / 인코딩 오류가 나요
한국 엑셀이 저장한 CSV는 대부분 EUC-KR(CP949) 인코딩입니다. 시트모아는 UTF-8로 읽다가 깨진 글자(�)가 감지되면 자동으로 EUC-KR로 다시 읽어 한글을 복원합니다. 구형 .xls 파일도 코드페이지 949로 해석을 시도합니다. 그래도 깨진다면 엑셀에서 “CSV UTF-8(쉼표로 분리)” 형식으로 다시 저장해 보세요.
데이터가 서버로 전송되지 않나요?
네. 모든 변환은 내 브라우저 안에서 실행되고 파일이 네트워크로 전송되지 않습니다. 고객 명단, 매출, 인사 자료처럼 민감한 표도 안전합니다.
무료인가요?
완전 무료입니다. 횟수·용량 제한 없고 회원가입도 필요 없습니다.