it-box

TOML → YAML 변환기

TOML을 파싱해 YAML로 변환합니다.

TOML → YAML 변환기 도구 열기

TOML 설정을 YAML로 바꿔 쿠버네티스나 CI처럼 YAML을 쓰는 도구에 옮길 때 씁니다.

사용 순서

  1. 왼쪽에 TOML 문서를 붙여 넣습니다.
  2. 오른쪽에 YAML 결과가 표시됩니다. 문법 오류가 있으면 검증 문구가 뜹니다.
  3. 테이블이 들여쓰기 구조로 바뀌었는지, 배열 테이블이 목록으로 나왔는지 확인합니다.
  4. 결과를 복사해 대상 YAML 파일에 붙여 넣고 대상 도구의 검증으로 확인합니다.

예시

[server] 아래 port = 8080은 server: 아래 port: 8080 두 줄의 들여쓰기 구조가 됩니다.

한계

결과는 yaml 라이브러리의 기본 스타일로 나오므로 따옴표와 여러 줄 문자열의 표기가 원래 TOML과 다를 수 있습니다. 주석은 사라집니다. TOML 문법이 틀리면 결과 없이 검증 문구만 표시됩니다.

보안 주의

TOML의 날짜 값을 YAML로 옮기면 대상 도구가 날짜가 아니라 문자열로 읽거나 다른 시간대로 해석할 수 있습니다. CI나 배포 설정에 옮긴 뒤에는 실제 실행 로그에서 시간 값을 확인하세요.

배경 지식

TOML과 YAML은 모두 사람이 편집하는 설정 형식이지만 구조를 드러내는 방식이 다릅니다. TOML은 섹션 머리글로 구조를 나타내고, YAML은 들여쓰기로 구조를 나타냅니다. 같은 데이터를 두 형식으로 표현할 수 있으므로 한쪽 도구의 설정을 다른 쪽으로 옮기는 작업이 생깁니다.

TOML의 [a.b] 테이블은 YAML에서 a 아래 b가 들여쓰기된 구조가 되고, 배열 테이블 [[items]]는 items 아래의 하이픈 목록이 됩니다. 이 대응을 알고 있으면 변환 결과를 훑어볼 때 어느 부분이 어떻게 바뀌었는지 빠르게 찾을 수 있습니다. 배열 테이블은 하이픈 목록 안의 객체로 나오므로 들여쓰기 깊이가 한 단계 늘어난다는 점도 기억하세요.

YAML은 들여쓰기 한 칸의 차이로 구조가 바뀌기 쉽습니다. 그래서 결과를 손으로 고칠 때는 탭 대신 공백을 쓰고, 편집기에서 들여쓰기 표시를 켜 두면 실수가 줄어듭니다. 설정 파일을 자동으로 만든다면 파서 검사를 한 번 더 넣는 것이 좋습니다. 검사를 넣으면 들여쓰기 실수를 배포 전에 잡아낼 수 있습니다.

자주 묻는 질문

TOML의 여러 줄 문자열은 YAML에서 어떻게 되나요?

값 자체는 같은 문자열로 옮겨지지만, YAML에서는 블록 스칼라나 따옴표 문자열 같은 다른 표기로 나옵니다. 줄바꿈 위치와 끝 줄바꿈이 맞는지 값을 비교하세요.

yes나 on 같은 문자열이 YAML에서 문제가 되나요?

YAML 1.1 파서는 yes와 on 같은 값을 불리언으로 읽습니다. 결과에 이런 단어가 있으면 따옴표가 붙어 있는지 확인하고, 없다면 직접 감싸세요.

TOML 주석을 YAML 결과에 남기려면 어떻게 하나요?

결과에는 주석이 포함되지 않으므로 원본 TOML 주석을 따로 보관하고, YAML에서 같은 키 위에 # 주석으로 옮겨 적으세요.