YAML 포맷터
YAML 문자열을 읽기 쉬운 형식으로 정리합니다.
YAML을 읽은 뒤 다시 써서 들여쓰기를 맞추고, 원하면 키를 정렬해 정리합니다.
사용 순서
- 입력 칸에 YAML을 붙여 넣습니다.
- Sort keys 스위치로 키 정렬을 켜거나 끕니다. 기본값은 꺼짐입니다.
- Indent size에서 들여쓰기 칸 수를 1부터 10 사이로 정합니다. 기본값은 2입니다.
- 결과 칸의 정리된 YAML을 복사합니다.
예시
name: it-box, tags 목록 두 개, 주석 한 줄, version: 1.2로 이루어진 YAML을 넣으면 같은 값의 YAML이 나오되 주석 줄만 빠집니다.
한계
파싱한 뒤 다시 쓰는 방식이라 주석이 모두 사라집니다. 여러 문서를 --- 구분자로 나눈 YAML은 한 문서로만 읽으므로 오류가 납니다. 앵커와 별칭은 라이브러리가 다시 만들기 때문에 원본과 이름이 다를 수 있습니다.
보안 주의
주석에 적힌 설명이나 주석 처리된 설정 항목이 결과에서 사라집니다. Kubernetes 매니페스트나 CI 설정은 원본을 보관한 뒤 정리한 결과를 적용하세요.
배경 지식
YAML은 들여쓰기로 구조를 표현하는 데이터 형식이라 공백 한 칸이 의미를 바꿀 수 있습니다. 설정 파일, CI 파이프라인, Kubernetes 매니페스트에서 많이 쓰입니다. 같은 값을 여러 방식으로 표기할 수 있어서 팀마다 서식이 달라지기 쉽습니다. YAML에서는 탭 문자로 들여쓰기할 수 없어서, 탭을 섞으면 파싱 오류가 나는 경우가 많습니다.
이 도구는 YAML을 자료 구조로 읽은 뒤 문자열로 다시 씁니다. 이 과정에서 들여쓰기 칸 수와 키 정렬 같은 표기만 정해진 규칙으로 바뀝니다. 주석은 자료 구조에 포함되지 않으므로 다시 쓰는 과정에서 사라집니다. 따옴표 스타일이나 빈 줄도 원본과 달라질 수 있으니 diff로 비교하며 확인하세요.
YAML 1.2에서는 yes와 no를 불리언으로 보지 않고 문자열로 둡니다. 반면 옛 YAML 1.1 파서는 같은 글자를 불리언으로 읽어 설정 값이 뒤바뀔 수 있습니다. 파서마다 해석이 다르다는 점은 설정 파일 리뷰에서 자주 놓치는 부분입니다. 리뷰할 때는 실제로 적용되는 파서 버전을 함께 확인하는 습관이 필요합니다.
자주 묻는 질문
정리한 뒤에도 주석을 남기려면 어떻게 하나요?
이 도구의 결과에는 주석이 없으므로 원본에서 주석을 직접 옮겨 적어야 합니다. 주석이 많은 파일은 정리 도구를 쓰지 말고 편집기의 자동 들여쓰기 기능을 쓰는 편이 낫습니다.
여러 문서를 --- 로 나눈 YAML은 어떻게 되나요?
여러 문서가 한 파일에 들어 있으면 이 도구는 한 문서로만 읽을 수 있어 오류가 납니다. 문서를 하나씩 나누어 붙여 넣으면 정리할 수 있습니다.
Sort keys를 켜면 어떤 순서로 정렬되나요?
객체 안의 키가 문자열 순서로 정렬됩니다. 배열의 순서는 바뀌지 않으므로, 목록 항목의 순서에 의미가 있다면 키 정렬을 켜도 안전합니다.