YAML을 JSON으로 변환

js-yaml 라이브러리로 YAML을 표준 JSON 객체로 변환하는 무료 온라인 도구입니다. 매핑과 리스트는 자동으로 JSON 객체와 배열로 바뀌며 pretty 출력도 전환할 수 있습니다. 탭, 닫히지 않은 따옴표, 잘못된 들여쓰기, 키 형식 문제 등 5가지 흔한 YAML 오류를 브라우저 안에서 자동으로 보정합니다.

관련 추천

YAML을 JSON으로 바꾸는 이유

YAML은 사람이 읽기 쉬운 설정 파일 형식으로 Kubernetes, Docker Compose, Ansible, GitHub Actions 같은 도구에서 널리 사용됩니다. 반면 JSON은 Web API, JavaScript, 각종 SDK에서 다루기 쉬운 표준 데이터 형식입니다. 이 도구는 YAML 설정을 기계 친화적인 JSON으로 바꾸기 위해 만들어졌습니다.

변환은 js-yaml이 YAML 구조를 읽고 JavaScript 객체로 만든 뒤, JSON 문자열로 직렬화하는 방식으로 진행됩니다. YAML의 매핑은 JSON 객체로, 리스트는 JSON 배열로, 문자열·숫자·불리언·null은 대응하는 JSON 타입으로 변환됩니다.

pretty 출력은 2칸 들여쓰기 JSON을 만들어 사람이 읽기 쉽고, 비활성화하면 API 전송이나 저장에 적합한 한 줄 JSON을 얻을 수 있습니다. 설정 검토와 데이터 전달 둘 다에 유용합니다.

실제 YAML 파일에는 탭, 닫히지 않은 따옴표, 틀어진 들여쓰기, 특수 키 이름 같은 문제가 자주 있습니다. 이 도구의 tryFixYAML은 그런 5가지 흔한 문제를 브라우저 안에서 자동 보정합니다.

사용 사례

  • Kubernetes manifest나 Helm values.yaml을 JSON으로 바꿔 jq나 검증 파이프라인에 넣고 싶을 때
  • docker-compose.yml을 JSON으로 변환해 다른 도구나 API와 연동하고 싶을 때
  • GitHub Actions나 GitLab CI의 YAML을 JSON 형태로 비교하거나 가공하고 싶을 때
  • Ansible playbook이나 모니터링 설정을 프로그램에서 다루기 쉬운 JSON으로 만들고 싶을 때
  • OpenAPI / Swagger YAML 정의를 JSON으로 바꿔 코드 생성 도구에 넘기고 싶을 때
  • YAML과 JSON의 타입 대응과 문법 차이를 학습하거나 설명하고 싶을 때

이용 방법

  1. 왼쪽 입력창에 YAML을 붙여 넣거나 .yaml / .yml / .txt 파일을 업로드합니다
  2. 입력 후 400ms가 지나면 자동 변환되어 오른쪽에 JSON 결과가 표시됩니다
  3. 필요하면 출력 포맷 옵션으로 보기 좋은 pretty JSON과 압축 JSON을 전환합니다
  4. 오류가 보이면 구조 수정 버튼으로 흔한 YAML 문제를 자동 보정합니다
  5. 결과를 복사하거나 converted.json으로 다운로드해 사용합니다

주요 기능

  • js-yaml 기반으로 YAML 매핑, 리스트, 중첩 구조, 멀티라인 문자열, anchor와 alias를 파싱합니다
  • 탭, 닫히지 않은 따옴표, 불규칙한 들여쓰기, 특수 문자 키, 줄 끝 공백 등 5가지 YAML 오류를 자동 수정합니다
  • pretty 출력에서는 2칸 들여쓰기 JSON, 끄면 압축된 한 줄 JSON을 생성할 수 있습니다
  • 중첩된 YAML 구조를 JSON 객체와 배열로 재귀 변환합니다
  • YAML 주석은 무시되며, 변환 결과는 순수 JSON 데이터만 남습니다
  • 입력 후 400ms 자동 변환으로 설정 파일을 빠르게 확인할 수 있습니다
  • 오른쪽 패널에서 JSON 문법 하이라이트로 복잡한 결과도 읽기 쉽게 볼 수 있습니다
  • 업로드, 복사, 다운로드, 최근 기록 복원까지 모두 브라우저 안에서 처리됩니다
  • 모든 파싱과 변환은 로컬에서 실행되어 설정 내용이 서버로 전송되지 않습니다

자주 묻는 질문

YAML을 JSON으로 어떻게 변환하나요?

왼쪽 입력창에 YAML을 붙여 넣거나 .yaml / .yml / .txt 파일을 불러오면, 도구가 js-yaml로 내용을 파싱해 표준 JSON으로 자동 변환합니다. YAML 매핑은 JSON 객체로, 리스트는 JSON 배열로 변환되며 입력 후 약 400ms 뒤에 자동 실행됩니다.

YAML 주석은 JSON에도 남나요?

아니요. YAML의 # 주석은 사람이 읽기 위한 보조 정보이기 때문에 파싱 과정에서 무시됩니다. 변환 후 JSON에는 순수 데이터만 남습니다. 주석 정보를 유지하려면 원본 YAML을 따로 보관하거나 JSON 안에 comment 필드를 직접 넣어야 합니다.

들여쓰기나 따옴표가 잘못된 YAML도 고칠 수 있나요?

네. 내장된 tryFixYAML이 탭을 공백으로 바꾸고, 닫히지 않은 따옴표, 잘못된 들여쓰기, 특수 키 이름, 줄 끝 공백 등 5가지 흔한 YAML 문제를 자동 보정합니다. 다만 구조가 크게 깨진 경우에는 수동 검토가 필요할 수 있습니다.

문제 해결

YAML 파싱 오류가 발생함

대부분 들여쓰기 불일치, 탭 혼용, 닫히지 않은 따옴표, 콜론 누락 때문에 발생합니다. 먼저 구조 수정 기능을 써 보고, 그다음 계층 구조를 다시 확인하세요.

주석이 JSON에 남지 않음

JSON 표준은 주석을 지원하지 않기 때문에 YAML의 # 주석은 변환 과정에서 제거됩니다. 필요하다면 별도 필드로 저장해야 합니다.

anchor와 alias가 사라짐

js-yaml은 anchor 참조를 먼저 펼친 뒤 JSON으로 변환합니다. 그래서 JSON에는 참조 문법 대신 펼쳐진 실제 데이터만 남습니다.

날짜가 문자열로 출력됨

YAML 날짜 값은 내부적으로 Date처럼 해석될 수 있어도 JSON으로 내보낼 때는 ISO 문자열이 됩니다. JSON에는 날짜 전용 타입이 없습니다.

여러 문서가 있는 YAML 처리

현재 도구는 단일 문서 변환을 기준으로 합니다. --- 로 나뉜 여러 문서는 분리해서 개별 변환하는 편이 안전합니다.

용어집

YAML
사람이 읽기 쉬운 데이터 직렬화 형식으로 Kubernetes, Docker Compose 같은 설정 파일에 자주 사용됩니다.
JSON
JavaScript Object Notation. API와 웹 애플리케이션에서 널리 쓰이는 표준 데이터 형식입니다.
js-yaml
YAML을 JavaScript 객체로 파싱하는 성숙한 JavaScript 라이브러리입니다.
Indentation
YAML에서 계층을 표현하는 들여쓰기입니다. 보통 공백을 사용하며 탭은 피해야 합니다.
Anchor
YAML의 &name 문법입니다. 재사용할 값을 정의할 때 사용합니다.
Alias
YAML의 *name 문법입니다. 앞서 정의한 anchor를 참조할 때 사용합니다.
Pretty Output
2칸 들여쓰기와 줄바꿈이 포함된 JSON 출력 모드입니다.
tryFixYAML
이 도구에 내장된 YAML 자동 수정 로직으로, 흔한 문법 실수를 보정합니다.

YAML과 JSON 타입 매핑

기본적인 YAML 구조는 다음과 같이 JSON으로 변환됩니다.

YAML 타입YAML 예시JSON 출력변환 규칙
stringname: Alice"name": "Alice"문자열은 JSON 문자열이 됩니다.
numberage: 30"age": 30숫자는 숫자 타입으로 유지됩니다.
booleanenabled: true"enabled": truetrue / false는 JSON 불리언이 됩니다.
sequence- a - b["a", "b"]YAML 리스트는 JSON 배열이 됩니다.
mappinguser: name: Alice{"user": {"name": "Alice"}}YAML 매핑은 JSON 객체가 됩니다.

YAML과 JSON 형식 비교

두 형식은 비슷한 데이터를 표현하지만 읽기 방식과 사용 목적이 다릅니다.

항목YAMLJSON메모
가독성높음보통YAML은 사람이 읽는 설정 파일에 적합합니다.
주석# 지원미지원JSON 표준에는 주석이 없습니다.
배열- item[item]YAML은 대시, JSON은 대괄호를 씁니다.
주요 용도설정 파일API / 데이터 교환YAML은 설정, JSON은 전송에 자주 쓰입니다.

자동 수정되는 YAML 오류

tryFixYAML은 다음과 같은 흔한 문제를 보정합니다.

오류 유형예시수정 후설명
key: valuekey: value탭을 공백으로 바꿉니다.
닫히지 않은 따옴표key: 'valuekey: 'value'빠진 따옴표를 보완합니다.
줄 끝 공백key: value key: value불필요한 공백을 제거합니다.
잘못된 들여쓰기 key: valuekey: value2칸 기준으로 정리합니다.

Privacy & Security

이 YAML to JSON 도구는 YAML 파싱, JSON 직렬화, 오류 수정까지 모두 브라우저 JavaScript에서 로컬로 처리합니다. 입력한 YAML과 생성된 JSON은 서버로 전송되지 않습니다. Kubernetes secret, API 키, 데이터베이스 접속 정보가 포함된 설정도 비교적 안전하게 로컬에서 변환할 수 있습니다.

Authoritative References