YAML ⇄ JSON 변환기
YAML을 JSON·XML·CSV로, JSON을 YAML로 변환합니다. 파일 열기, URL 불러오기, 들여쓰기 선택 — 100% 브라우저에서 처리되며 업로드되지 않습니다.
1번째 줄, 1번째 칸
YAML 문서가 여러 개(--- 로 구분)이면 JSON 배열로 합쳐집니다.
{
"name": "메이커박스",
"tags": [
"무료",
"비공개"
],
"nested": {
"count": 3
}
}🔒 브라우저에서 변환되며 업로드되지 않습니다.
한 페이지에서 네 가지 방향
방향을 고르세요: YAML → JSON, JSON → YAML, YAML → XML, YAML → CSV. 방향 전환 버튼은 현재 출력을 새 입력으로 되먹여 주므로 문서를 왕복 변환하며 두 형식을 비교할 수 있습니다 — YAML/JSON 쌍에서만 동작하고, 단방향인 XML·CSV에서는 비활성화됩니다. 파싱은 충분히 검증된 js-yaml 엔진이 담당해, 앵커·중첩 매핑·시퀀스·여러 줄 스칼라도 취약한 직접 구현 파서가 아니라 정확하게 처리됩니다. ---로 구분된 다중 문서(쿠버네티스 매니페스트, CI 설정 등)는 JSON 배열로 합쳐지고, XML에서는 문서마다 <item> 요소가 하나씩 만들어집니다. ?dir=json-to-yaml, ?dir=yaml-to-xml, ?dir=yaml-to-csv 로 원하는 방향에 바로 링크할 수도 있습니다.
파일을 넣고, 파일로 받기
직접 입력하거나 붙여넣어도 되고, 디스크의 .yaml·.yml·.json·.txt 파일을 열 수도 있으며(최대 10MB), 웹 주소를 입력하면 브라우저가 직접 받아옵니다 — 교차 출처 읽기를 허용하는 호스트(예: raw.githubusercontent.com)여야 하고, 허용하지 않는 호스트는 "잘못된 주소"가 아니라 그 사실 그대로 알려 줍니다. 다운로드 이름은 연 파일을 따라가서 settings.yaml은 settings.json으로 나옵니다. JSON은 압축(공백 없음)·공백 2칸·4칸·탭 중에서, YAML은 공백 2칸·4칸 중에서 고릅니다 — YAML은 들여쓰기에 탭을 쓸 수 없고 압축도 불가능해서, 그 두 가지는 받아 놓고 무시하는 대신 아예 목록에 없습니다. 내려받기 전에 줄바꿈 문자(LF·CRLF)와 UTF-8 BOM 포함 여부도 고를 수 있습니다.
잘못됐을 때, 무엇이 어디서 잘못됐는지
문법 오류는 파서의 영어 문장이 아니라 페이지의 언어로, 파서가 위치를 알려 준 경우 멈춘 줄과 칸과 함께 표시됩니다. 입력 상자 아래에는 커서의 줄·칸이 늘 보여서 오류가 가리킨 줄로 곧장 갈 수 있습니다. ±(2^53−1)를 넘는 정수(스노우플레이크 ID 등)는 자바스크립트가 배정도 실수로 읽어 조용히 반올림하므로 경고가 뜹니다 — 따옴표로 묶으면 정확한 문자열로 남습니다. 자기 자신을 담는 앵커(a: &x { b: *x })는 올바른 YAML이지만 JSON·XML·CSV 어떤 텍스트로도 표현할 수 없어서, "잘못된 YAML"이라고 하지 않고 그 사실을 그대로 알려 줍니다. CSV는 레코드 목록이어야 하므로 스칼라 하나, 문자열만 든 목록, 빈 목록은 배열 인덱스를 열 이름으로 삼아 억지로 쓰지 않고 거부합니다.
왜 YAML과 JSON을 오가나요
YAML과 JSON은 객체·배열·문자열·숫자·불리언 같은 같은 종류의 데이터를 표현하지만, YAML은 사람이 읽고 쓰기 쉬워(설정 파일, CI 파이프라인, 쿠버네티스 매니페스트) 편하고, JSON은 대부분의 API와 프로그램이 기대하는 형식입니다. 변환을 통해 편한 형식으로 작성하고 상대 도구가 요구하는 형식으로 넘길 수 있습니다. 변환 자체는 브라우저에서 로컬로 이뤄지므로 설정 파일 속 비밀값도 기기를 벗어나지 않습니다. 변환기가 만드는 네트워크 요청은 직접 입력한 주소를 브라우저가 받아오는 것 하나뿐입니다. 작성한 내용을 이 기기에 기억하기는 기본이 꺼짐이며, 켜면 입력이 이 브라우저 저장소에만 남고 체크를 해제하면 즉시 지워집니다.
자주 묻는 질문
변환은 양방향으로 되나요?
네, 그리고 방향은 모두 네 가지입니다: YAML → JSON, JSON → YAML, YAML → XML, YAML → CSV. 방향 전환 버튼은 YAML/JSON 쌍에서 출력을 반대 방향의 입력으로 되돌려 줍니다. 단방향인 XML·CSV에서는 되돌릴 것이 없으므로 비활성화됩니다.
YAML이나 JSON이 잘못되면 어떻게 되나요?
결과가 나오지 않고, 무엇이 잘못됐는지 페이지의 언어로 알려 줍니다. 파서가 위치를 알려 준 경우에는 멈춘 줄과 칸까지 함께 표시되므로, 라이브러리의 영어 메시지를 읽는 대신 그 지점으로 바로 갈 수 있습니다.
데이터가 어딘가로 업로드되나요?
아니요. 파싱과 변환은 전적으로 브라우저에서 처리되어 붙여넣거나 연 내용은 서버로 전송되지 않으며, 비밀값이 든 설정 파일도 안전합니다. 네트워크 요청은 딱 하나, 직접 입력한 주소를 브라우저가 받아오는 "웹 주소에서 불러오기"뿐입니다. "작성한 내용을 이 기기에 기억하기"는 기본이 꺼짐이고, 켜면 입력이 이 브라우저 저장소에만 남습니다.
YAML을 XML이나 CSV로도 바꿀 수 있나요?
네. 방향 목록에서 YAML → XML 또는 YAML → CSV를 고르세요. XML은 <?xml version="1.0" encoding="UTF-8"?> 선언과 <root> 요소를 포함하고, 다중 문서는 문서마다 <item>이 하나씩 생깁니다. CSV는 레코드 하나가 한 행이 되고, 중첩된 키는 부모.자식 열로 펼쳐지며, 행 안의 목록은 JSON 한 칸으로 들어갑니다. CSV는 레코드 목록이어야 하므로 스칼라나 문자열만 든 목록은 추측하지 않고 거부합니다.
JSON을 압축하거나 탭으로 들여쓸 수 있나요?
네. YAML → JSON의 들여쓰기 목록에는 압축(공백 없음)·공백 2칸·공백 4칸·탭이 있습니다. JSON → YAML은 공백 2칸·4칸만 제공합니다 — YAML은 들여쓰기에 탭을 쓸 수 없고 압축도 불가능해서, 받아 놓고 무시하는 대신 목록에서 뺐습니다.
파일을 열거나 URL에서 불러올 수 있나요?
둘 다 됩니다. 파일 열기는 .yaml·.yml·.json·.txt를 최대 10MB까지 받습니다. "웹 주소에서 불러오기"는 http:// 또는 https:// 주소를 브라우저가 직접 받아오므로 해당 호스트가 교차 출처 읽기를 허용해야 합니다(raw.githubusercontent.com은 허용). 어느 쪽이든 다운로드 이름은 원본 파일을 따라가서 settings.yaml은 settings.json으로 돌아옵니다.
--- 로 나뉜 다중 문서 YAML은 어떻게 되나요?
--- 로 구분된 문서를 원본 순서대로 읽습니다. YAML → JSON은 이를 JSON 배열 하나로 합치고, YAML → XML은 문서마다 <item> 요소를 하나씩 만듭니다. 문서가 하나뿐이면 배열로 감싸지 않고 그 값 그대로 변환합니다.
윈도우 줄바꿈이나 BOM을 넣을 수 있나요?
네. 줄바꿈 문자는 LF와 CRLF 중에서, 인코딩은 UTF-8과 UTF-8(BOM 포함) 중에서 고를 수 있습니다. BOM은 엑셀로 CSV를 열 때 필요한 부분입니다. LF + 일반 UTF-8을 고르면 변환 결과가 한 글자도 다시 쓰이지 않고 그대로 저장됩니다.