JSON·YAML·TOML·CSV 변환
docker-compose.yml, pyproject.toml, package.json 같은 설정 파일이나 API 응답을 붙여넣거나 파일로 놓으세요.
설정 파일·데이터 형식 바꾸기
JSON, YAML, TOML, CSV는 같은 데이터를 적는 서로 다른 방법이에요. JSON은 API와 자바스크립트, YAML은 도커 컴포즈·쿠버네티스·깃허브 액션 같은 설정 파일, TOML은 파이썬 pyproject.toml·러스트 Cargo.toml 같은 설정 파일, CSV는 엑셀·표 데이터에 주로 써요. 붙여넣거나 파일을 열면 입력 형식을 자동으로 알아내고 원하는 형식으로 바로 바꿔요.
형식 사이의 차이
JSON·YAML·TOML은 중첩된 구조(객체 안의 객체, 목록)를 그대로 옮길 수 있어요. 다만 TOML은 맨 위가 표(객체)여야 하고 빈 값(null)이 없어서, 목록은 items로 감싸고 null은 빼며 그 사실을 알려 줘요. YAML의 날짜(2026-11-12)와 TOML의 날짜·시각은 JSON으로 바꿀 때 ISO 8601 글자가 돼요. YAML의 주석(#)은 데이터가 아니라서 다른 형식으로 바꾸면 사라져요.
CSV와 오갈 때
CSV는 2차원 표라서, 객체 목록(예: 사람 목록)을 바꾸면 첫 줄이 열 이름, 나머지가 한 줄씩 행이 돼요. 중첩된 값은 server.host처럼 점으로 이은 열 이름으로 펼치고, 글자 목록은 ‘; ’로 이어 붙여요. 반대로 CSV를 JSON·YAML로 바꿀 때는 ‘a.b를 중첩으로’를 켜면 원래 구조로 되돌리고, ‘숫자·true/false 바꾸기’를 켜면 8080을 숫자로, true를 참거짓 값으로 바꿔요(앞자리 0이 있는 우편번호·전화번호는 글자로 둬요). 쉼표·따옴표·줄바꿈이 들어간 칸은 RFC 4180 규칙대로 따옴표로 감싸고, CSV로 저장하면 엑셀에서 한글이 깨지지 않게 BOM을 붙여요.
형식이 틀렸으면 몇 번째 줄에서 문제가 생겼는지 알려 줘요. YAML은 js-yaml(MIT), TOML은 smol-toml(BSD-3-Clause, TOML 1.0) 라이브러리를 쓰고, 변환 결과는 파이썬 json·PyYAML·tomllib·csv 모듈로 다시 읽어 같은 데이터인지 검증했어요. 모든 처리는 브라우저 안에서만 해요.
참고한 자료
자주 묻는 질문
YAML 주석이 사라졌어요.
주석은 데이터가 아니라서 변환할 때 옮겨지지 않아요. 원본 파일은 따로 보관하세요.
CSV로 바꿨더니 0으로 시작하는 번호가 숫자가 됐어요.
앞자리 0이 있는 값은 글자로 두도록 했어요. 그래도 바뀌면 ‘숫자·true/false 바꾸기’를 끄세요.
큰 파일도 되나요?
수 MB 정도까지는 무리 없이 바꿔요. 아주 큰 표는 ‘CSV 보기’나 엑셀 변환 도구를 쓰는 게 편해요.
함께 쓰면 좋은 도구
- JSON 정리 (보기 좋게 들여쓰기·검증·압축)JSON을 보기 좋게 들여쓰기, 오류 위치 표시, 한 줄 압축, 키 정렬, 문자열 이스케이프
- XML 정리·검증·XPath 테스트 (보기 좋게 들여쓰기·압축)XML을 보기 좋게 들여쓰기·한 줄 압축, 형식 오류 위치 표시, XPath 식으로 원하는 값 찾기, 구조 통계
- 엑셀 JSON 변환 (엑셀을 JSON으로, JSON을 엑셀로)엑셀·CSV 표를 JSON 배열로, JSON을 엑셀 표로(중첩 키 펼치기)
- CSV 미리보기·필터 (큰 CSV를 표로 보고 검색)엑셀로 열기 힘든 큰 CSV·TSV를 표로 보고, 검색·열 필터·정렬, 걸러낸 결과만 CSV·엑셀로 저장
- 정규식 테스트 (정규표현식 매칭 확인)패턴과 플래그로 일치하는 부분을 강조 표시, 그룹 값 표, 바꾸기 미리보기, 자주 쓰는 패턴
- Base64 인코딩·디코딩 (글자·파일 ↔ Base64)글자(한글 UTF-8)를 Base64로, Base64를 글자로, 파일·이미지를 data URI로, Base64를 파일로 저장