WebTools

Useful Tools & Utilities to make life easier.

JSON To CSV

JSON 데이터를 엑셀용 CSV 형식으로 변환합니다.

JSON → CSV 변환기란?

JSON → CSV 변환기는 API나 데이터베이스에서 받은 JSON을 엑셀·구글 시트에서 바로 열 수 있는 CSV(쉼표로 구분된 표) 형태로 바꿔 주는 도구입니다. JSON은 개발용으로는 편하지만 사람이 표로 훑어보거나 비개발자 동료에게 공유하기에는 불편합니다. 이 도구에 JSON을 붙여 넣으면 각 항목이 행(row)으로, 키가 열 제목(header)으로 정리된 표 데이터를 만들어 줍니다.

변환에 가장 잘 맞는 형태는 같은 모양의 객체가 여러 개 담긴 배열입니다. 예를 들어 회원 목록, 주문 내역, 상품 리스트처럼 각 항목이 같은 키를 가진 경우입니다. 이 도구는 입력을 보고 배열인지 단일 객체인지, 열 제목이 있는지, 열이 몇 개인지 자동으로 감지해 보여 주므로, 변환 전에 데이터 구조를 눈으로 확인할 수 있습니다.

사용 방법

  1. 입력칸에 변환할 JSON을 붙여 넣습니다. 객체 배열([ { }, { } ]) 형태가 가장 깔끔하게 변환됩니다.
  2. 아래에 자동 감지된 미리보기 표가 뜨면 열 제목과 값이 맞는지 확인합니다.
  3. 구분자(delimiter)를 고릅니다. 쉼표(,)·세미콜론(;)·탭 중에서 선택할 수 있습니다.
  4. 따옴표(quote) 문자를 정한 뒤 변환하고, 결과를 복사해 엑셀에 붙여 넣습니다.

변환 예시와 옵션

아래는 객체 배열 JSON이 CSV 표로 바뀌는 모습입니다.

입력 (JSON)출력 (CSV)
[
  { "name": "홍길동", "age": 30 },
  { "name": "김영희", "age": 25 }
]
name,age
홍길동,30
김영희,25

구분자와 따옴표 옵션은 다음과 같은 역할을 합니다.

옵션하는 일언제 쓰나
쉼표(,) 구분값 사이를 쉼표로 나눔가장 일반적인 CSV 기본값
세미콜론(;) 구분값 사이를 세미콜론으로 나눔값 안에 쉼표가 많거나 유럽식 엑셀 환경
탭 구분값 사이를 탭으로 나눔(TSV)표 붙여넣기·텍스트 편집기에서 다룰 때
따옴표 문자값에 구분자가 들어 있을 때 그 값을 감쌈주소·문장처럼 쉼표가 섞인 값 보호

자주 묻는 질문

한글이 엑셀에서 깨져 보여요.

변환 결과 자체는 UTF-8로 정상입니다. 다만 엑셀은 CSV를 열 때 인코딩을 잘못 인식해 한글이 깨져 보일 수 있습니다. 이럴 때는 엑셀에서 데이터 → 텍스트/CSV 가져오기로 열면서 원본 형식을 UTF-8로 지정하거나, 구글 시트로 먼저 붙여 넣은 뒤 다루면 깨지지 않습니다.

값 안에 쉼표가 있으면 열이 밀리지 않나요?

그래서 따옴표 옵션이 있습니다. 값에 구분자와 같은 쉼표가 들어 있으면 그 값을 따옴표로 감싸, 프로그램이 한 칸의 값으로 올바르게 읽도록 해 줍니다. 주소나 설명 문장처럼 쉼표가 섞인 데이터라면 구분자를 세미콜론이나 탭으로 바꾸는 것도 방법입니다.

중첩된 JSON(객체 안의 객체)은 어떻게 되나요?

CSV는 행과 열로 된 평평한 표라서 깊은 계층을 그대로 담지 못합니다. 중첩된 값은 한 칸 안에 묶여 들어가거나 그대로 문자열로 표시될 수 있습니다. 계층 구조를 살려야 한다면 표가 아니라 태그 방식이 맞으므로 JSON → XML 변환기를 고려해 보세요.

CSV를 다시 JSON으로 되돌릴 수 있나요?

네. 반대 방향은 CSV → JSON 변환기를 쓰면 됩니다. 엑셀에서 정리한 표를 코드에서 쓸 JSON으로 바꿀 때 유용합니다.

더 알아보기

변환 전 JSON의 문법이 올바른지, 배열·객체 구조가 제대로 잡혔는지 확인하는 방법은 JSON 포맷터 가이드에 정리돼 있습니다. 항목마다 키 이름이 조금씩 다르면 열이 어긋날 수 있으니, 변환 전에 모든 항목이 같은 키를 갖도록 맞추면 표가 깔끔하게 만들어집니다.