YAML ↔ TOML 변환기 🔒 데이터가 브라우저 밖으로 나가지 않습니다.
설정 파일을 YAML과 TOML 형식 간에 변환하세요.
Ctrl+S다운로드
이 도구에 대해
YAML과 TOML은 모두 구조화된 설정을 표현하지만 문법과 주 사용처가 다릅니다. YAML은 Kubernetes 매니페스트, Docker Compose 파일, CI 파이프라인(GitHub Actions, GitLab CI)에서 주로 쓰이고, TOML은 Rust의 Cargo.toml과 Python의 pyproject.toml이 선호하는 형식입니다. Compose 서비스의 설정을 Cargo 프로젝트로 옮기는 일(또는 그 반대)은 보통 모든 것을 손으로 다시 입력해야 함을 뜻합니다. 이 온라인 YAML → TOML 변환기(반대로 TOML → YAML도 포함)는 양방향으로 즉시 변환하며 중첩 테이블, 배열, 데이터 타입을 그대로 유지합니다.
js-yaml과 smol-toml로 구동되며 둘 다 이 페이지에서만 로드됩니다. 설정 파일이 브라우저 밖으로 나가는 일은 없습니다 — 내부 호스트명, 포트, 환경 이름이 담긴 파일도 안전합니다.
자주 묻는 질문
YAML은 어디에 쓰이고, TOML은 어디에 쓰이나요?
YAML은 Kubernetes 매니페스트, Docker Compose 파일, CI 파이프라인(GitHub Actions, GitLab CI)의 기본 형식이며 깊은 중첩 구조를 잘 다룹니다. TOML은 Rust의 Cargo.toml과 Python의 pyproject.toml이 쓰는 형식으로, .ini 파일에 더 가깝게 읽히며 평평하고 손으로 수정하기 쉬운 설정이 중요한 곳에서 인기가 있습니다. 컨테이너 기반 프로젝트의 설정을 Rust나 Python 프로젝트로 옮길 때(혹은 그 반대) 둘 사이 변환이 자주 필요합니다.
YAML과 TOML 사이를 변환해도 주석이 남아 있나요?
아니요 — 이것은 흔한 함정입니다. YAML과 TOML 파서 모두 문서를 읽을 때 주석을 버리고 데이터만 남깁니다. 이 도구는 입력을 메모리상의 객체로 파싱한 뒤 처음부터 다시 직렬화하므로, 두 형식 어느 쪽의 `#` 주석도 출력에서 사라집니다. 주석에 중요한 내용이 담겨 있다면 변환 후 손으로 다시 옮겨 적으세요.
array-of-tables 구문([[section]])이 왕복 변환에서 올바르게 유지되나요?
네. TOML의 `[[section]]`은 원소가 마침 테이블(객체)인 배열일 뿐입니다. TOML → YAML로 변환하면 평범한 YAML 매핑 시퀀스가 되고, 이 시퀀스를 다시 TOML로 변환하면 `[[section]]` 블록이 재현됩니다. smol-toml이 "모든 원소가 순수 객체인 배열"을 인식해 array-of-tables 구문을 자동으로 출력하기 때문입니다.
제 YAML이나 TOML 데이터가 어딘가로 업로드되나요?
아니요. 변환은 js-yaml과 smol-toml이라는 자바스크립트 라이브러리를 사용해 브라우저 안에서만 실행됩니다 — 여기에 입력하거나 붙여넣은 내용은 서버로 전송되지 않습니다. 그래서 내부 호스트명, 자격 증명 자리표시자, 기타 환경별 세부 정보가 담긴 설정 파일에도 안전하게 사용할 수 있습니다.
docker-compose.yml 설정을 Rust나 Python 프로젝트용 TOML 설정으로 바꾸려면 어떻게 하나요?
'YAML → TOML' 탭으로 전환한 뒤 docker-compose.yml의 해당 부분(예: 한 서비스의 `environment:` 블록이나 직접 추가한 사용자 지정 설정 블록)을 붙여넣으면 오른쪽에 동등한 TOML이 즉시 나타납니다 — Cargo.toml, pyproject.toml, 또는 앱이 읽는 아무 사용자 지정 `.toml` 설정 파일에 붙여넣을 준비가 됩니다. 붙여넣은 전체 문서는 최상위에서 반드시 하나의 객체로 귀결되어야 한다는 점에 유의하세요. `services:`로 시작하는 compose 파일 전체를 붙여넣는 것은 매핑이므로 괜찮지만, 순수 목록(예: 단독 `ports:` 배열)만 붙여넣으면 오류가 표시됩니다. TOML은 배열을 루트 문서로 표현할 방법이 없기 때문입니다.
YAML을 TOML로 변환하는 것뿐 아니라 TOML을 다시 YAML로도 변환할 수 있나요?
네 — 이 도구는 양방향 변환기입니다. 'TOML → YAML' 탭을 클릭하거나(또는 YAML → TOML 변환 후 '교환'을 눌러) TOML을 붙여넣으면 선택한 들여쓰기 너비가 적용된 동등한 YAML을 얻을 수 있습니다. 양쪽 방향 모두 '먼저 파싱한 뒤 다시 직렬화'하는 동일한 방식을 사용하므로, 중첩 테이블, 배열, array-of-tables 모두 어느 방향으로든 올바르게 변환됩니다.