🌐 KO

🔄 YAML ↔ JSON / CSV 변환기

YAML과 JSON을 양방향으로 변환합니다. 설정 파일(docker-compose, GitHub Actions, k8s 매니페스트)을 JSON으로 바꿔 확인하거나, JSON을 사람이 읽기 쉬운 YAML로 바꿀 때 유용합니다. JSON↔CSV 탭에서는 플랫 배열 데이터를 스프레드시트용 CSV로 바꿀 수 있습니다.

가이드

자세히 알아보기

01

1. YAML과 JSON, 언제 무엇을 쓰나

JSON은 API 응답·설정 저장 등 기계 간 데이터 교환에 최적화되어 있고, 문법이 엄격해 파싱 오류가 적습니다. YAML은 들여쓰기 기반으로 주석(#)을 지원하고 사람이 읽기 편해, docker-compose.yml·GitHub Actions 워크플로·Kubernetes 매니페스트·Ansible 플레이북 등 설정 파일에 널리 쓰입니다. 이 도구는 YAML로 작성된 설정을 JSON으로 바꿔 프로그램에서 다루거나, JSON 데이터를 YAML로 바꿔 사람이 읽기 쉽게 정리할 때 사용합니다.

02

2. 변환 시 주의할 점

YAML은 JSON보다 표현할 수 있는 것이 많습니다(앵커 &, 별칭 *, 여러 문서 구분 ---, 블록 스칼라 | 와 >). 이런 YAML 전용 기능을 쓴 문서를 JSON으로 바꾸면 앵커/별칭은 실제 값으로 펼쳐지고, 여러 문서 중 첫 번째만 변환됩니다. 반대로 JSON→YAML은 항상 안전합니다(JSON은 YAML의 부분집합에 가깝기 때문). 숫자처럼 보이는 문자열(예: 우편번호 "01234")은 YAML에서 따옴표로 감싸지 않으면 숫자로 해석될 수 있으니 주의하세요.

03

3. JSON ↔ CSV와 중첩 구조

CSV는 표 형태(행·열)만 표현할 수 있어 JSON의 중첩 객체·배열을 그대로 담을 수 없습니다. 이 도구는 중첩 객체를 "user.name", "user.age"처럼 점(dot) 표기 컬럼으로 자동으로 펼쳐서(flatten) CSV에 담고, 반대로 CSV→JSON 변환 시 점 표기를 보고 원래의 중첩 구조로 복원합니다. 배열 값(예: 태그 목록)은 셀 안에 JSON 문자열 그대로 저장되므로, 스프레드시트에서 직접 수정하기보다는 그대로 다시 임포트하는 용도로 쓰는 것이 안전합니다.

자주 묻는 질문

YAML의 어떤 문법까지 지원하나요?
표준 YAML 1.2 문법(맵, 시퀀스, 스칼라, 주석, 앵커/별칭, 블록 스칼라, 여러 자료형)을 지원하는 js-yaml 라이브러리를 사용합니다. 실무에서 쓰이는 대부분의 설정 파일 문법을 커버합니다.
JSON→CSV에서 중첩 객체는 어떻게 되나요?
자동으로 "부모.자식" 형태의 점 표기 컬럼으로 펼쳐집니다(flatten). 예를 들어 {"user":{"name":"Kim"}}은 "user.name" 컬럼에 "Kim"으로 들어갑니다.
배열이 들어있는 JSON을 CSV로 바꿀 수 있나요?
최상위는 객체 배열이어야 합니다([{"a":1}] 형태). 각 객체 안의 배열 값(예: 태그 목록)은 셀 안에 JSON 문자열 그대로 저장됩니다.
변환 결과가 서버로 전송되나요?
아니요. 모든 변환은 브라우저(자바스크립트) 안에서만 이뤄지며 입력한 내용은 서버로 전송되지 않습니다.