JSON → YAML 변환
무료 온라인 JSON→YAML 변환 도구. JSON을 한 번의 클릭으로 YAML 1.2 표준 설정으로 변환. 들여쓰기 사용자 정의, JSON 구문 오류 자동 복구, Kubernetes 매니페스트·Docker Compose·GitHub Actions 등 YAML 설정 파일 생성. 모든 처리는 브라우저 로컬에서 실행.
관련 추천
사용 사례
- Kubernetes 매니페스트 작성: Helm 템플릿이나 CI/CD 도구가 생성한 JSON 설정을 표준 Deployment/Service YAML로 변환
- Docker Compose 설정: docker-compose.json 도구나 컨테이너화 플랫폼에서 내보낸 JSON을 읽기 쉬운 docker-compose.yml로 변환
- GitHub Actions / GitLab CI 워크플로우: 자동화 스크립트가 생성한 JSON 설정을 YAML 파이프라인 파일로 변환
- Ansible Playbook 작성: 작업 오케스트레이션 JSON을 Ansible이 요구하는 YAML 형식으로 변환
- 마이크로서비스 설정 통합: 분산된 마이크로서비스의 JSON 설정을 YAML 저장소로 통합 이전
- Swagger/OpenAPI에서 YAML 생성: API 도구가 내보낸 JSON Schema를 OpenAPI 표준 YAML 사양으로 변환
- YAML 문법 학습: 가지고 있는 JSON 구조로 중첩 객체·배열·특수 값이 YAML에서 어떻게 표현되는지 직관적으로 확인
- 설정 파일 비교 변환: JSON과 YAML 간 빠르게 변환하여 형식 비교, 프로젝트에 최적의 설정 언어 선택
이용 방법
- 왼쪽 편집기에 JSON 내용을 붙여넣거나 업로드 버튼으로 .json/.txt 파일 선택, '샘플'로 사전 설정 샘플 로드
- 도구가 YAML 1.2 사양에 따라 자동 실시간 변환, 오른쪽에 즉시 결과 표시. 드롭다운으로 2/4 스페이스 들여쓰기 전환 가능
- JSON에 구문 오류가 있으면 하단에 'JSON 복구' 버튼이 표시되고 클릭으로 자동 일괄 수정
- Unicode 이스케이프나 문자열 이스케이프가 필요하면 하단 도구 모음의 'Unicode 변환' '이스케이프/언이스케이프' 버튼으로 한 번 클릭 변환
- 결과에 만족하면 '복사' 버튼으로 YAML 내용을 복사하거나 '다운로드'로 output.yaml 파일로 저장
주요 기능
- YAML 1.2 표준 출력: 공식 YAML 1.2 사양 준수, Kubernetes, Docker Compose, GitHub Actions, Ansible 등 주요 도구에서 직접 사용 가능
- 들여쓰기 사용자 정의: 2 스페이스/4 스페이스 전환 가능, 프로젝트 코딩 스타일에 맞춤 (YAML 공식 2 스페이스 권장)
- JSON 자동 복구: 내장 tryFixJSON 엔진이 끝 쉼표·작은따옴표·주석 등 일반적인 JSON 오류를 자동 감지·복구 후 변환
- Unicode 양방향 변환: 한 번의 클릭으로 한글→\uXXXX 이스케이프 또는 역변환, 국제화 지원
- 문자열 이스케이프/언이스케이프: JSON 내 큰따옴표·백슬래시·줄바꿈에 이스케이프 추가 또는 복원
- JSON 정리와 압축: 입력 영역에서 JSON을 들여쓰기 정리 또는 한 줄 압축으로 변환 가능
- 실시간 양방향 편집: 왼쪽에 JSON 붙여넣기 시 오른쪽에 즉시 YAML 결과 표시, 입력과 동시에 변환
- 파일 업로드·다운로드: .json/.txt 파일 업로드, config.yaml/output.yaml로 한 번 클릭 다운로드
- 키보드 단축키 지원: Shift+Cmd/Ctrl+F 정리, C 압축, U Unicode 변환, Z 역변환, / 이스케이프, . 언이스케이프, O 업로드, D 다운로드, K 지우기
- 드래그 가능한 패널과 기록: PC 버전 좌우 패널 드래그 너비 조정 가능, 최근 200개 기록 자동 저장
- JSON 포맷터로 이동: 변환 완료 후 한 번 클릭으로 JSON 포맷터로 이동하여 정리·검증·압축 계속 가능
- 순수 프론트엔드 로컬 처리: 모든 분석·변환·이스케이프는 브라우저 JavaScript로 실행, 민감한 설정은 서버에 업로드되지 않음
자주 묻는 질문
JSON을 YAML 형식으로 변환하는 방법은?
JSON 내용을 왼쪽 편집기에 붙여넣으면 도구가 YAML 1.2 사양에 따라 자동으로 읽기 쉬운 형식으로 변환합니다. 키-값 쌍은 key: value로, 중첩 객체는 들여쓰기로 계층 표현, 배열은 `- item` 목록 구문으로. 변환 완료 후 한 번 클릭으로 복사 또는 .yaml 파일로 다운로드. JSON에 구문 오류가 있으면 도구가 자동 복구를 시도한 후 변환합니다.
YAML과 JSON은 각각 어떤 상황에 적합한가요?
YAML은 사람이 읽기 쉬운 설정 상황(Kubernetes 매니페스트, Docker Compose, GitHub Actions, Ansible Playbook, CI/CD 파이프라인 설정)에 적합합니다. JSON은 기계 분석·데이터 교환 상황(REST API 요청/응답, 마이크로서비스 간 통신)에 적합합니다. 설정 작성은 YAML, 데이터 전송은 JSON입니다. 이 도구는 역방향 YAML→JSON 변환도 지원합니다.
들여쓰기는 2 스페이스와 4 스페이스 중 어느 것이 좋나요?
YAML 공식은 2 스페이스 들여쓰기를 권장합니다(Python 스타일과 일치). Kubernetes, Docker Compose, GitHub Actions 등 주요 도구의 기본 스타일입니다. 일부 프로젝트는 4 스페이스를 사용합니다. 이 도구는 2/4 스페이스를 자유롭게 전환할 수 있으며 재변환 없이 즉시 변경 가능합니다.
생성된 YAML을 Kubernetes에서 직접 사용할 수 있나요?
사용 가능합니다. YAML 1.2 공식 사양을 준수하며 Kubernetes YAML 파서(kubectl apply)의 구문 요구사항을 충족합니다. deployment.yaml/service.yaml로 저장해 kubectl apply -f로 적용 가능. YAML은 들여쓰기에 민감하므로 복사 시 불필요한 공백이나 Tab을 사용하지 마세요.
다중 문서 YAML(--- 구분) 생성을 지원하나요?
현재 버전은 주로 단일 문서 JSON→YAML 변환에 사용됩니다. JSON이 여러 독립 객체의 배열인 경우 목록 형식으로 출력됩니다. 다중 문서 YAML(--- 구분)이 필요하면 변환 후 수동으로 --- 구분자를 추가하거나 YAML 포맷터로 추가 처리하세요.
한글/특수 문자가 포함된 JSON이 깨지지 않나요?
깨지지 않습니다. UTF-8 인코딩 완벽 지원, 한글·중국어·일본어·이모지·특수 기호 등 모든 Unicode 문자 지원. 한글을 \uXXXX 이스케이프로 변환하려면 'Unicode 변환' 버튼으로 한 번 클릭. 역방향 복원은 'Unicode 역변환' 사용.
JSON 문자열 내 큰따옴표와 줄바꿈은 어떻게 처리되나요?
YAML은 여러 문자열 표현 방법을 지원: 따옴표 없음(단순 문자열), 큰따옴표(\n·\t 이스케이프 지원), 작은따옴표(리터럴), | 블록 스타일(줄바꿈 유지), > 접기 스타일(줄바꿈→공백). 이 도구는 기본적으로 큰따옴표 스타일을 출력합니다.
변환 후 모든 값이 문자열이 되나요?
기본적으로 도구가 JSON의 원래 유형을 지능적으로 인식·유지합니다. 숫자는 YAML 숫자(따옴표 없음), 불리언은 true/false, null은 null 또는 ~로 변환. 모든 값을 문자열로 처리하려면 JSON 측에서 모든 값을 문자열로 감싼 후 변환하세요.
로컬 브라우저 변환 시 설정 파일이 업로드되나요?
업로드되지 않습니다. 모든 JSON 분석·YAML 생성·문자열 이스케이프·Unicode 변환·JSON 복구는 브라우저 로컬 JavaScript 엔진에서 실행되며 네트워크를 통해 서버에 전송되지 않습니다. 오프라인에서도 사용 가능. 데이터베이스 비밀번호·API 키·Kubernetes Secret 설정이 포함된 JSON도 안심하고 변환할 수 있습니다.
문제 해결
JSON이 'Unexpected token' 오류가 발생하면?
JSON 구문 오류입니다. 일반적인 원인: ① 끝에 불필요한 쉼표, 예 {"a":1,}; ② 큰따옴표 대신 작은따옴표 사용, 예 {'a':1}; ③ 키 이름이 큰따옴표로 감싸지지 않음, 예 {a:1}; ④ 주석 // 또는 /* */. 도구 하단 'JSON 복구' 버튼으로 끝 쉼표 보완·큰따옴표 추가·주석 삭제 등을 자동 시도. 복구 후 재변환하세요.
kubectl apply가 'yaml: invalid character' 오류가 발생하면?
일반적으로 들여쓰기 오류입니다. YAML은 엄격하게 공백 들여쓰기를 요구하며 Tab 문자가 섞이면 분석 실패 원인이 됩니다. 확인 사항: ① 모든 들여쓰기가 공백인지(Tab이 아닌지); ② 같은 계층의 들여쓰기 공백 수가 일치하는지(2 또는 4 스페이스); ③ 들여쓰기가 중첩 계층에 맞춰져 있는지. 이 도구 출력은 순수 공백 들여쓰기를 사용하며 Tab이 섞이지 않습니다.
YAML 문자열 내 줄바꿈이 \n이 된 경우 처리 방법은?
기본적으로 JSON 문자열 내 줄바꿈(\n)은 YAML 변환 시 \n으로 이스케이프됩니다. 실제 줄바꿈을 유지하려면(Docker Compose command 여러 줄 등) 변환 후 수동으로 YAML 블록 스타일로 변경: | 기호로 식별, 예 description: |\n 첫째 줄\n 둘째 줄. 또는 '언이스케이프' 버튼으로 JSON 내 \n을 실제 줄바꿈으로 변환 후 재변환.
변환 후 YAML에서 null 값이 ~ 기호가 된 경우?
YAML은 ~ 또는 null로 빈 값을 표현하며 둘은 동등합니다. 도구가 ~를 인식하지 못하면 수동으로 null로 치환 가능. YAML 1.1에서는 NO/On/Off가 불리언 false로 분석되는 점에 주의(노르웨이 문제), YAML 1.2에서 수정되었으며 이 도구 출력은 1.2 사양을 준수합니다.
한글이 YAML에서 \uXXXX 이스케이프 형식으로 표시되면?
기본적으로 도구는 네이티브 UTF-8 한글을 출력하며 이스케이프되지 않습니다. 잘못해서 \uXXXX 형식이 표시되면: ① 입력된 JSON이 원래 Unicode 이스케이프 형식; ② 하단 'Unicode 변환' 버튼 클릭. 'Unicode 역변환' 버튼으로 역변환 가능.
대용량 파일 변환 시 브라우저가 멈추면?
실시간 변환 최적화(500ms 디바운스)가 구현되어 있지만 초대형 파일(>1MB, 수십만 줄)에서는 부하 가능성이 있습니다. 권장: ① JSON 포맷터로 JSON 유효성 확인; ② 단일 대형 JSON인지 여러 독립 JSON 연결인지 확인; ③ 초대형 설정 파일(10MB+)은 yq, kubectl convert 등 명령줄 도구 권장; ④ 브라우저가 멈추면 불필요한 탭을 닫아 메모리 확보 후 재시도.
Privacy & Security
이 도구의 모든 JSON 분석·YAML 생성·문자열 이스케이프·Unicode 변환·JSON 자동 복구·파일 읽기는 브라우저 로컬 JavaScript 엔진에서 실행되며 JSON 내용과 생성된 YAML 설정은 네트워크를 통해 서버에 전송되지 않으며 기록이나 분석도 되지 않습니다. 데이터베이스 비밀번호·API 키·Kubernetes Secret 설정이 포함된 JSON도 안심하고 변환할 수 있습니다. 로컬 기록은 브라우저 localStorage에만 저장되며 브라우저를 닫거나 캐시를 지우면 삭제됩니다.
Authoritative References
- yaml.orgYAML 1.2 공식 사양
- yaml.orgYAML 공식 FAQ
- WikipediaYAML - Wikipedia
- KubernetesKubernetes YAML 공식 튜토리얼
- DockerDocker Compose 공식 문서
- JSON 압축
- CSV 를 JSON으로
- JSON을 CSV로
- JSON Diff
- JSON Escape / Unescape
- JSON 평탄화
- JSON 포맷터
- JSON 생성기
- JSONPath 온라인 쿼리
- JSON 병합
- JSON 복구
- JSON 스키마 검증기
- JSON 정렬
- JSON Stringify
- JSON을 HTML로 변환
- JSON을 Java로
- JSON을 Markdown으로
- JSON을 SQL로 변환
- JSON을 TOML로 변환
- JSON을 TypeScript로 변환
- XML을 JSON으로
- JSON을 XML로 변환
- YAML을 JSON으로 변환
- JSON → YAML 변환
- JSON을 Go로
- JSON을 Rust로
- JSON → Swift
- JSON에서 C#로
- JSON을 C++로
- JSON을 PHP로
- JSON을 Python으로