🧰도구상자

🗂️ JSON ↔ CSV · YAML 변환

JSON을 CSV·YAML로, 또는 반대로 변환합니다.

JSON ↔ CSV · YAML 변환기는 개발·데이터 작업에서 가장 자주 오가는 세 가지 데이터 포맷을 브라우저 안에서 바로 상호 변환해 주는 도구입니다. API 응답으로 받은 JSON을 스프레드시트에서 열 수 있는 CSV로 바꾸거나, 엑셀에서 내보낸 CSV를 코드에서 다루기 좋은 JSON 배열로 만들거나, 설정 파일에 쓰기 좋은 YAML로 변환하는 일을 붙여넣기 한 번으로 끝낼 수 있습니다.

이 도구가 지원하는 변환은 JSON → CSV, CSV → JSON, JSON → YAML, YAML → JSON 네 가지입니다. 상단에서 원하는 방향을 고르고 입력창에 데이터를 붙여넣은 뒤 변환 버튼을 누르면 결과가 아래에 나타납니다. 모든 처리는 사용자의 브라우저에서만 이루어지며 입력한 데이터가 서버로 전송되지 않으므로, 사내 데이터나 민감한 값이 섞인 데이터도 외부 유출 걱정 없이 변환할 수 있습니다.

아래에서는 각 변환 방향이 실제로 어떻게 동작하는지, CSV 따옴표 이스케이프 규칙, 세 포맷의 특징과 언제 무엇을 쓰면 좋은지, 그리고 중첩 객체처럼 변환 시 주의할 점까지 정리했습니다. 포맷의 개념을 이해하면 변환 결과가 왜 그렇게 나오는지 예측할 수 있어 데이터를 다루기가 훨씬 수월해집니다.

사용 방법

  1. 상단 버튼에서 변환 방향을 선택합니다. JSON → CSV, CSV → JSON, JSON → YAML, YAML → JSON 중 하나를 고릅니다.
  2. 입력창에 변환할 데이터를 붙여넣습니다. JSON은 객체 배열(예: [{...}, {...}]) 형태가 표 변환에 가장 적합하며, 단일 객체도 한 행으로 처리됩니다.
  3. 변환 버튼을 누르면 결과가 아래 출력창에 표시됩니다. 형식이 잘못되면 파싱 오류 메시지가 나오므로, 괄호·따옴표·들여쓰기를 확인하고 다시 시도합니다.
  4. 출력창의 결과를 선택해 복사한 뒤 스프레드시트, 코드 편집기, 설정 파일 등 원하는 곳에 붙여넣어 사용합니다.

네 가지 변환 방향

이 도구는 아래 네 방향의 변환만 제공합니다. 각 방향이 입력을 어떻게 해석하고 무엇을 출력하는지 알아 두면 결과를 정확히 예측할 수 있습니다.

지원하는 변환 방향과 동작
방향입력출력
JSON → CSV객체 배열 또는 단일 객체첫 줄에 열 이름, 이후 값 행으로 구성된 CSV
CSV → JSON첫 줄이 헤더인 CSV헤더를 키로 쓰는 객체 배열(2칸 들여쓴 JSON)
JSON → YAML임의의 JSON 값들여쓰기 기반 YAML 텍스트
YAML → JSONYAML 텍스트2칸 들여쓴 JSON 텍스트

모든 변환은 브라우저에서만 처리됩니다

입력한 데이터는 어떤 서버로도 전송되지 않고 사용자의 브라우저 안에서만 변환됩니다. 네트워크가 끊긴 상태에서도 동작하며, 민감한 데이터를 붙여넣어도 외부로 나가지 않습니다.

JSON → CSV 변환 규칙

JSON을 CSV로 바꿀 때는 입력이 객체 배열이라고 가정합니다. 배열이 아니면 단일 객체를 한 행으로 처리합니다. 열(헤더)은 배열에 들어 있는 모든 객체의 키를 모아 만든 합집합이므로, 어떤 객체에만 있는 키도 빠짐없이 열로 포함되고, 그 키가 없는 행의 칸은 비어 있게 됩니다.

  • 헤더 순서는 처음 등장한 키 순서를 따르며, 서로 다른 객체에 있는 키는 모두 열로 합쳐집니다.
  • 값에 쉼표(,), 큰따옴표("), 줄바꿈이 들어 있으면 해당 칸 전체를 큰따옴표로 감쌉니다.
  • 값 안의 큰따옴표는 두 개("")로 바꿔 이스케이프합니다. CSV 표준(RFC 4180) 방식입니다.
  • 값이 null이거나 키가 없으면 빈 칸으로 출력됩니다.

중첩 객체·배열은 평탄화되지 않습니다

값이 다시 객체나 배열인 경우 문자열로 변환되어 [object Object] 같은 형태로 나올 수 있습니다. CSV는 본질적으로 표(2차원) 포맷이므로, 깔끔한 표를 얻으려면 각 항목이 문자열·숫자 같은 단순 값으로 이루어진 평평한(flat) 객체 배열을 입력하는 것이 좋습니다.

CSV → JSON 변환 규칙

CSV를 JSON으로 바꿀 때는 첫 줄을 헤더로 보고, 그 아래 각 줄을 헤더 키에 대응시켜 객체를 만듭니다. 결과는 사람이 읽기 좋게 2칸 들여쓴 JSON 배열로 출력됩니다. 큰따옴표로 감싼 칸, 칸 안의 이스케이프된 따옴표(""), 그리고 CRLF·LF 줄바꿈을 모두 처리합니다.

  • 모든 값은 문자열로 변환됩니다. 예를 들어 30이라는 숫자도 결과 JSON에서는 "30" 문자열이 됩니다.
  • 칸 수가 헤더보다 적은 행은 부족한 값이 빈 문자열로 채워집니다.
  • 큰따옴표로 감싼 칸 안에서는 쉼표와 줄바꿈이 값의 일부로 취급됩니다.

숫자·불리언 타입이 필요하면 한 번 더 손봐야 합니다

CSV에는 타입 개념이 없어 모든 값이 문자열로 들어옵니다. 변환된 JSON에서 특정 필드를 숫자나 불리언으로 다뤄야 한다면, 코드에서 Number()나 조건 비교로 변환하거나 결과 JSON을 직접 수정해 주세요.

JSON · CSV · YAML 언제 무엇을 쓸까

세 포맷은 목적이 조금씩 다릅니다. JSON은 API·프로그램 간 데이터 교환의 사실상 표준이고, CSV는 스프레드시트·표 데이터에 강하며, YAML은 사람이 손으로 읽고 쓰는 설정 파일에 자주 쓰입니다.

세 데이터 포맷 비교
포맷강점대표 용도
JSON중첩 구조 표현, 타입 구분(숫자·불리언·null)API 응답, 앱 데이터 저장·교환
CSV표 형태에 최적, 엑셀·구글시트에서 바로 열림표 데이터 내보내기·가져오기, 통계 자료
YAML들여쓰기로 가독성 높음, 주석 작성 가능설정 파일(CI, 도커, 앱 config)

변환은 되돌려도 완전히 같지 않을 수 있습니다

포맷마다 표현력이 달라 왕복 변환(예: JSON → CSV → JSON) 시 원본과 정확히 일치하지 않을 수 있습니다. 특히 CSV를 거치면 타입이 모두 문자열이 되고, 중첩 구조는 CSV에서 표현되지 않는다는 점을 염두에 두세요.

자주 묻는 질문

지원하는 변환 방향은 무엇인가요?
JSON → CSV, CSV → JSON, JSON → YAML, YAML → JSON 네 가지입니다. 상단 버튼에서 방향을 고른 뒤 데이터를 붙여넣고 변환 버튼을 누르면 됩니다. XML이나 TOML 같은 다른 포맷은 이 도구에서 지원하지 않습니다.
변환 버튼을 눌렀더니 오류 메시지가 떠요.
입력 데이터의 형식이 올바르지 않을 때 파싱 오류가 표시됩니다. JSON은 키·문자열을 큰따옴표로 감쌌는지, 마지막 항목 뒤에 불필요한 쉼표가 없는지 확인하세요. YAML은 들여쓰기가 일정한지, CSV는 첫 줄이 헤더로 되어 있는지 점검한 뒤 다시 시도하면 됩니다.
JSON을 CSV로 바꿨더니 값이 [object Object]로 나와요.
해당 필드의 값이 다시 객체나 배열인 중첩 구조이기 때문입니다. CSV는 평평한 표 포맷이라 중첩 데이터를 그대로 담지 못하고 문자열로 변환합니다. 깔끔한 표를 얻으려면 각 필드가 문자열·숫자 같은 단순 값인 평평한 객체 배열로 입력하세요.
CSV를 JSON으로 바꾸면 숫자도 문자열이 되나요?
네. CSV에는 타입 정보가 없어서 모든 값이 문자열로 변환됩니다. 예를 들어 나이 30은 "30"이 됩니다. 숫자나 불리언으로 다뤄야 한다면 변환된 JSON을 코드에서 형 변환하거나 직접 수정해 주세요.
쉼표나 줄바꿈이 들어 있는 값도 CSV로 안전하게 변환되나요?
네. 값에 쉼표, 큰따옴표, 줄바꿈이 포함되면 그 칸을 큰따옴표로 감싸고, 값 안의 따옴표는 두 개로 이스케이프합니다. 이는 CSV 표준(RFC 4180) 방식이라 엑셀·구글시트에서 열이 어긋나지 않고 올바르게 열립니다.
입력한 데이터가 서버로 전송되나요?
아니요. 모든 변환은 사용자의 브라우저 안에서만 처리되며 어떤 서버로도 데이터를 보내지 않습니다. 사내 데이터나 민감한 값이 포함되어도 외부로 유출되지 않으므로 안심하고 사용할 수 있습니다.

관련 도구