XML / JSON / YAML 변환기
세 가지 데이터 포맷을 서로 변환. JSON → YAML, YAML → XML, XML → JSON 아무 방향으로.
쓰는 법
- 입력 포맷 선택 (XML / JSON / YAML).
- 출력 포맷 선택.
- 왼쪽 패널에 원본 붙여넣기.
- 변환 버튼 → 오른쪽에 결과 표시.
예시 (JSON → YAML)
입력:
{"server": {"host": "localhost", "port": 8080, "ssl": true}}
출력:
server:
host: localhost
port: 8080
ssl: true
세 포맷을 오가는 게 왜 필요하냐면요
API 응답은 JSON으로 받는데 Docker Compose나 GitHub Actions 워크플로는 YAML이고, 레거시 SOAP 서비스는 XML이고... 실무에서 이 세 포맷을 자주 오가게 돼요. 스택오버플로에서 예제를 YAML로 줬는데 내 설정은 JSON이거나 할 때도 그렇고요.
여기 한쪽에 붙여넣고 '어느 포맷으로?' 고르면 변환된 결과가 나옵니다. 들여쓰기 적용된 보기 좋은 결과로요.
여기 편한 점
- 세 포맷 모두 양방향으로 변환 가능. JSON→YAML만 있는 다른 도구들이랑 다름.
- js-yaml 라이브러리 기반이라 YAML 멀티라인 문자열, 앵커/앨리어스 같은 복잡한 문법도 잘 처리해요.
- 출력은 들여쓰기 적용된 보기 좋은 형태.
- 데이터는 브라우저 밖으로 안 나가요. 사내 설정 파일도 안심하고 넣으세요.
다른 변환기랑 비교
| 항목 | FreeToolbox | 대부분 사이트 |
|---|---|---|
| 지원 포맷 | XML, JSON, YAML 3종 | 보통 2종 |
| 동작 위치 | 브라우저 | 서버가 많음 |
| 광고 | 거의 없음 | 많음 |
자주 묻는 질문
YAML이 뭐예요?
YAML Ain't Markup Language의 약자예요(자기 부정형 이름). JSON보다 사람이 읽기 쉬운 데이터 표현 방식이고 Docker, Kubernetes, GitHub Actions, Ansible 같은 인프라 도구에서 설정 파일 포맷으로 많이 씁니다. 들여쓰기로 구조를 표현해서 중괄호 같은 게 없어요.
XML 속성은 JSON으로 어떻게 변환돼요?
<user id="123">홍길동</user> 같은 XML 속성은 @id 같이 @ 붙은 키로 변환됩니다. 본문 텍스트는 #text 키로 들어가요. 업계 표준 컨벤션입니다.
YAML의 앵커(&)랑 앨리어스(*)도 처리돼요?
네, js-yaml이 표준 YAML 1.2 스펙을 따르니까 앵커/앨리어스, 머지 키(<<), 멀티라인 문자열(|, >) 전부 처리됩니다. JSON으로 변환할 때는 참조가 풀려서 중복된 객체로 내보내져요.
큰 파일도 되나요?
브라우저 메모리 안에서 돌아가니까 수 MB까지는 무난하고, 수십 MB 넘어가면 느려질 수 있어요. 그런 경우는 yq(YAML용 jq) 같은 CLI 도구 쓰시는 게 빠릅니다.
데이터가 서버로 올라가요?
아니요, 전부 브라우저에서 처리합니다. 사내 k8s 매니페스트나 API 응답도 안심하고 붙여넣으세요.