Devin.KR

DATA FORMAT · CSV JSON YAML

CSV ↔ JSON ↔ YAML

이 데이터, 다른 형식으로 필요할 때

[{"name":"Devin"}] 같은 JSON 을 넣고 출력 형식을 YAML 로 고르면 - name: Devin 으로 바뀝니다. CSV, JSON, YAML 세 형식을 입력과 출력으로 자유롭게 짝지어 변환합니다.

  • 3개 형식 변환
  • 엄격한 CSV 검사
  • 브라우저에서만 처리
  • 무료 · 가입 없음
바로 사용하기 ↓

MADE FOR YOUR WORK

이럴 때 쓰세요

엑셀 데이터를 API 요청으로

엑셀에서 CSV 로 저장한 목록을 JSON 객체 배열로 바꿔 테스트 요청 본문이나 시드 데이터로 씁니다.

API 응답을 표로 검토

JSON 응답 배열을 CSV 로 바꿔 스프레드시트에서 정렬·필터하며 값을 확인합니다.

설정 파일 형식 옮기기

JSON 으로 된 설정을 YAML 로, 또는 YAML 을 JSON 으로 바꿔 쿠버네티스·CI 설정에 옮겨 적습니다.

깨진 CSV 찾기

따옴표가 닫히지 않았거나 열 수가 헤더와 다른 행이 있으면 변환을 멈추고 이유를 알려 줍니다.

STEP BY STEP

CSV ↔ JSON ↔ YAML 사용 방법

이렇게 쓰세요

  1. 입력·출력 형식 고르기

    입력 형식과 출력 형식에서 각각 JSON, CSV, YAML 중 하나를 선택합니다.

  2. 데이터 붙여 넣기

    입력 칸에 원본을 넣습니다. CSV 는 첫 줄이 열 이름이어야 하고, 입력은 1 MB 까지 받습니다.

  3. 실행 누르기

    결과 칸에 변환 결과가 나옵니다. 문제가 있으면 버튼 아래 상태 줄에 '오류:'로 시작하는 이유가 표시됩니다.

  4. 결과 복사

    결과 복사 버튼으로 가져갑니다. CSV 결과는 모든 칸을 큰따옴표로 감싸고 줄 끝은 CRLF 입니다.

UNDERSTAND THE BASICS

CSV·JSON·YAML, 무엇이 같고 무엇이 다른가

세 형식 모두 데이터를 글자로 적는 방법이지만 담을 수 있는 모양이 다릅니다. JSON 과 YAML 은 객체 안에 배열, 배열 안에 객체를 몇 겹이든 넣을 수 있고, CSV 는 행과 열 하나짜리 평평한 표입니다. 그래서 JSON → CSV 는 '객체 배열'일 때만 자연스럽고, 중첩된 값은 한 칸에 JSON 문자열로 들어갑니다.

타입도 다릅니다. JSON 은 문자열·숫자·true/false·null 을 구분하지만 CSV 에는 타입이 없어 모든 칸이 글자입니다. 이 도구는 CSV 를 읽을 때 90 도 "90" 문자열로 둡니다. 숫자로 계산해야 한다면 받는 쪽에서 변환하세요.

YAML 은 사람이 쓰기 편한 대신 해석이 관대해 yes, on 같은 값이 불리언으로 바뀌는 구현이 있습니다. 이 도구는 YAML 을 JSON 스키마로 읽어 소문자 true·false·null 과 숫자만 타입으로 인정하고, yes·on·~·True·날짜 모양 값은 모두 문자열로 둡니다. 반대로 YAML 을 만들 때는 'yes' 처럼 오해될 문자열에 따옴표를 붙입니다.

형식별 특징 한눈에 보기
항목CSVJSONYAML
중첩 구조불가(평평한 표)가능가능
값의 타입모두 문자열문자열·숫자·불리언·nullJSON 과 같음(이 도구 기준)
주석없음없음# 로 가능
구분 방식쉼표와 줄바꿈괄호와 쉼표들여쓰기
주 용도엑셀·DB 내보내기API 요청·응답설정 파일

CSV ↔ JSON ↔ YAML 사용 안내

CSV, JSON, YAML을 브라우저에서 변환합니다. CSV 출력은 객체 배열을 사용하며 셀 값은 문자열로 읽습니다.

입력·출력 형식을 각각 선택한 뒤 실행하세요. CSV 첫 줄은 고유한 열 이름이어야 하며 JSON → CSV는 객체 배열을 입력하세요. CSV 셀은 문자열로 유지하며 수식처럼 보이는 값은 스프레드시트에서 열기 전에 검토하세요.

QUICK EXAMPLE

CSV ↔ JSON ↔ YAML 사용 예제

입력 · 시작

name,score
Minsu,90

결과 · 확인

CSV의 헤더를 JSON 객체 키로 변환

문자열과 숫자의 타입, 빈 값과 null의 의미가 형식마다 다릅니다.

어떻게 구현했나

CSV 파서는 직접 구현했습니다. 따옴표 규칙을 엄격하게 봅니다 — 닫는 따옴표 뒤에 구분자가 아닌 글자가 오거나, 따옴표가 안 닫히거나, 헤더가 비었거나 중복이면 변환하지 않고 오류를 냅니다. 조용히 넘어가면 열이 밀린 데이터가 그대로 만들어집니다.

YAML 은 js-yaml 을 JSON 스키마로 제한해 읽습니다. 기본 스키마는 임의의 타입 태그를 해석하는데, 변환 도구에는 그 기능이 필요 없고 위험만 남습니다.

읽어들인 구조를 한 번 훑어 순환 참조가 있으면 거부하고, 노드 5만 개나 깊이 40을 넘으면 중단합니다. 순환 참조는 JSON 으로 내보내는 순간 무한히 커집니다. 입력 자체도 1MB 로 제한합니다.

CSV 로 내보낼 때는 객체 배열이어야 합니다. 중첩된 값은 표의 한 칸에 담을 수 없어 JSON 문자열로 넣습니다.

BEFORE YOU FINISH

자주 하는 실수

CSV 로 바꿀 데이터가 객체 배열이 아니다

{"items":[…]} 처럼 바깥이 객체면 CSV 로 내보낼 수 없습니다. 안쪽 배열만 잘라 넣어야 각 객체가 한 행이 됩니다.

CSV 에서 읽은 숫자를 숫자로 믿는다

CSV → JSON 결과의 값은 전부 문자열입니다. "007" 같은 코드를 지키는 데는 유리하지만, 받는 쪽이 숫자를 기대하면 타입 오류가 납니다.

헤더가 비었거나 겹친다

엑셀 끝에 빈 열이 딸려 오거나 같은 열 이름이 두 번 있으면 변환하지 않습니다. 열 이름은 비어 있지 않고 서로 달라야 합니다.

자주 묻는 질문

CSV 를 JSON 으로 변환하는 방법은?

입력 형식을 CSV, 출력 형식을 JSON 으로 두고 첫 줄에 열 이름이 있는 CSV 를 붙여 넣은 뒤 실행을 누르세요. 각 행이 열 이름을 키로 가진 객체가 됩니다.

JSON 을 CSV 로 바꾸면 중첩 객체는 어떻게 되나요?

해당 칸에 JSON 문자열로 들어갑니다. 열 목록은 모든 객체의 키를 합친 것이라 어떤 객체에 없는 키는 빈칸이 됩니다.

YAML 을 JSON 으로 바꿨더니 yes 가 문자열이에요

의도한 동작입니다. JSON 스키마로 읽어 true·false 만 불리언으로 봅니다. 불리언이 필요하면 YAML 에 true 로 적으세요.

변환한 CSV 를 엑셀에서 열면 한글이 깨져요

결과를 파일로 저장할 때 인코딩 문제입니다. 엑셀은 BOM 없는 UTF-8 CSV 를 다른 인코딩으로 여는 경우가 있으니 'UTF-8(BOM)' 으로 저장하거나 엑셀의 데이터 가져오기에서 UTF-8 을 지정하세요.

큰 파일도 변환되나요?

입력은 1 MB, 결과는 3 MB 까지입니다. YAML 은 노드 5만 개나 깊이 40을 넘으면 멈춥니다. 더 크면 나눠서 변환하세요.

입력한 데이터는 어디에서 처리하나요?

이 도구의 입력 데이터는 브라우저에서 처리하며 도구 기능을 위해 서버로 업로드하지 않습니다. 결과를 공유하기 전 민감한 정보가 없는지 확인하세요.

함께 쓰면 좋은 도구

전체 도구 바로가기

손으로 익히기

문서 · 데이터 변환

개발 실무

한국 개발 특화

API · 네트워크

이미지 · 색상