JSON을 YAML로, YAML을 JSON으로 변환

변환브라우저에서 실행(업로드 없음)

엄격한 JSON 진단, YAML 1.2 Core 파싱, 제한된 alias 확장, 숫자 손실 검사와 YAML 전용 문법 손실 경고를 적용해 JSON과 YAML을 브라우저에서 양방향 변환합니다.

다음에 할 작업

관련 작업 흐름을 이어가거나 이 작업 다음에 자주 사용하는 도구를 열어보세요.

이 도구 사용 방법

원본을 붙여넣기 전에 JSON→YAML 또는 YAML→JSON 방향을 선택합니다.

출력 들여쓰기를 2칸 또는 4칸으로 고르고 JSON 출력은 보기 좋은 형식이나 압축 형식을 선택합니다.

하나의 문서를 변환하고 엄격한 JSON 또는 YAML 오류의 줄과 열 위치를 따라 원본을 고칩니다.

결과를 쓰기 전에 노드 수, 최대 깊이, 경고 수를 확인합니다.

중복 key와 손실 숫자는 임의로 넘기지 말고 원본에서 의도한 표현으로 수정합니다.

현재 결과를 복사하거나 다운로드한 뒤 실제 설정을 사용할 애플리케이션이나 배포 도구로 다시 검증합니다.

이 도구를 써야 할 때

애플리케이션 설정 이전

중첩 mapping, 배열, boolean, null, 문자열을 유지하면서 JSON 설정 객체를 읽기 쉬운 YAML로 바꿉니다.

YAML manifest 점검

주석과 alias 경고를 확인하면서 하나의 YAML manifest를 API 점검, 코드 생성, 테스트 fixture용 JSON으로 바꿉니다.

설정 검토와 디버깅

저장소에 설정 변경을 commit하기 전에 같은 작은 설정의 JSON과 YAML 표현을 비교합니다.

비공개 지원·QA 전달

원본 설정 파일을 변환 서비스로 보내지 않고 작은 재현 자료를 만들어 지원이나 QA에 사용합니다.

흔한 실수

모든 YAML 기능이 왕복 보존된다고 가정

JSON은 YAML 주석, anchor, alias, 사용자 정의 tag, 여러 문서를 같은 문법으로 표현할 수 없습니다. 주석과 제한 내 alias는 경고 후 펼치고, 지원하지 않는 tag와 다중 문서 stream은 거부합니다.

문맥을 보지 않고 모든 탭을 제거

따옴표로 감싼 YAML 문자열 안의 탭은 유효하지만 들여쓰기에 쓴 탭은 유효하지 않습니다. 데이터에 포함된 탭까지 지우지 말고 들여쓰기 탭만 공백으로 바꾸세요.

형식 변환을 설정 유효성 검사로 오해

문법상 변환에 성공해도 Kubernetes, Docker Compose, GitHub Actions 같은 목적지가 그 schema를 허용한다는 뜻은 아닙니다. 배포 전에 목적지 전용 validator로 다시 확인하세요.

예시

애플리케이션 설정 JSON을 YAML로 변환

중첩 JSON 객체와 배열을 YAML mapping과 sequence로 바꿉니다. 다른 YAML scalar로 해석될 수 있는 문자열은 필요할 때 따옴표로 보호됩니다.

입력
{
  "service": {
    "name": "api",
    "ports": [8080, 8081],
    "enabled": true
  }
}
출력
service:
  name: api
  ports:
    - 8080
    - 8081
  enabled: true

하나의 YAML 1.2 문서를 JSON으로 변환

JSON에는 주석 문법이 없어 YAML 주석 제거 경고가 표시됩니다. 따옴표로 감싼 날짜 모양 값은 timestamp가 아니라 문자열로 유지됩니다.

입력
# 배포 라벨
name: api
release: "2026-07-15"
enabled: true
출력
{
  "name": "api",
  "release": "2026-07-15",
  "enabled": true
}

엄격한 JSON·YAML 변환 방식

JSON 입력은 공통 엄격 문서 파서로 처리합니다. 주석, 후행 쉼표, 여러 root, 잘못된 escape, escape되지 않은 제어 문자, 중복 객체 key, 비유한 숫자와 변환 중 달라지는 숫자 텍스트를 YAML 직렬화 전에 중단합니다.

YAML 입력은 고유하고 문자열로 표현 가능한 mapping key를 가진 하나의 YAML 1.2 Core 문서로 파싱합니다. 사용자 정의 tag와 여러 문서 stream은 하나의 명확한 JSON 값으로 바꿀 수 없어 거부합니다.

변환 전에 YAML syntax tree에서 중첩 깊이, 노드 수, 주석, anchor, alias, 숫자 원문과 오류 위치를 검사합니다. Alias 확장 수를 제한하고 순환 참조는 차단합니다.

JSON 출력은 순서가 있는 map 값에서 직접 작성하므로 숫자처럼 보이는 문자열 key와 __proto__ 같은 이름이 일반 객체 대입 과정에서 빠지거나 재정렬되지 않습니다. UTF-8 입력과 생성 출력 용량도 따로 제한합니다.

자주 묻는 질문

JSON이나 YAML이 변환 서버로 업로드되나요?

아닙니다. 일반 사용에서 파싱과 직렬화는 브라우저에서 실행됩니다. 입력은 5MB로 제한되고 출력, 중첩, 노드 수, alias 확장 제한도 별도로 적용됩니다.

어떤 YAML 동작을 지원하나요?

YAML 쪽은 YAML 1.2 Core 규칙으로 하나의 문서를 읽고 문자열로 표현 가능한 mapping key를 요구하며, 해석할 수 없는 사용자 tag를 거부합니다. 모든 YAML 1.1 또는 제품 전용 schema를 모방하지는 않습니다.

YAML 주석, anchor, alias는 어떻게 되나요?

주석은 경고와 함께 제거됩니다. Anchor와 alias는 제한된 범위에서 반복 JSON 값으로 펼쳐지며, JSON이 cycle을 표현할 수 없으므로 순환 alias는 거부됩니다.

조용한 값 손실을 어떻게 막나요?

중복 JSON key와 YAML key는 앞의 값이 조용히 사라지지 않도록 거부됩니다. 브라우저 숫자 표현에서 값이 달라지는 JSON 숫자와 YAML numeric scalar도 위치와 함께 중단됩니다.

출력이 유효하면 Kubernetes나 CI 설정도 유효한가요?

아닙니다. 이 도구는 원본 문법과 변환 제한을 검사하지만 목적지 제품 schema는 검사하지 않습니다. 변환 후 kubectl, Docker Compose, CI 공급자 또는 실제 애플리케이션으로 검증하세요.

YAML 입력에 탭을 사용할 수 있나요?

따옴표 scalar 값 안에는 탭이 들어갈 수 있습니다. YAML 들여쓰기는 공백을 써야 하며, 들여쓰기 탭만 해당 줄과 열 위치로 보고됩니다.

이 도구를 검증한 방법

관리 및 검수 검토일

검증 방법: 검토에서는 수정하지 않은 “작은 서비스 설정을 JSON에서 YAML로 변환” 샘플을 JSON을 YAML로, YAML을 JSON으로 변환에 불러왔습니다. “원본 표준과 목적지 확인”에서 “구조와 경계 값 비교”까지의 흐름을 실행해 화면 또는 다운로드 결과를 예시와 비교했습니다. 별도 조사 항목은 “유효한 YAML이면 Kubernetes나 CI 설정도 유효하다고 생각”, “중복 key의 승자를 parser에 맡김”였습니다.

기대 결과: service 객체, 숫자 포트 두 개, 날짜 형태 문자열과 boolean이 YAML에서도 의도한 구조를 유지했고 다시 동등한 JSON으로 변환됐습니다.

검증한 작업 가이드 열기

관련 작업 가이드

도구를 열기 전에 자주 쓰는 작업 흐름과 예시를 확인하세요.

관련 도구

관리 중인 다른 작업 흐름을 이어서 사용해 보세요

모든 도구 둘러보기