개발 도구

YAML·JSON·TOML 변환

세 가지 설정 파일 형식을 서로 바꿉니다. 틀린 줄과 이유, YAML의 흔한 함정까지 알려 줍니다.

🔒 입력한 내용과 파일은 이 브라우저 안에서만 처리합니다. 서버로 보내지 않습니다.

예시

    YAML·JSON·TOML 변환 사용법

    설정 파일에 많이 쓰는 세 형식을 서로 바꿉니다. 도커 컴포즈와 쿠버네티스, 깃허브 액션은 YAML, 패키지 정보와 API 응답은 JSON, 러스트의 Cargo와 파이썬의 pyproject는 TOML을 씁니다. 문서에 나온 예시가 내가 쓰는 도구와 다른 형식일 때, YAML의 들여쓰기가 맞는지 JSON으로 바꿔 구조를 확인하고 싶을 때 씁니다.

    쓰는 순서

    1. 입력 칸에 내용을 붙여 넣거나 파일 열기로 불러옵니다. 형식은 자동으로 알아봅니다.
    2. YAML 로, JSON 으로, TOML 로 가운데 바꿀 형식을 누릅니다. 한 번 누르면 글을 고칠 때마다 같은 형식으로 다시 바꿉니다.
    3. 초록색 안내에서 무엇으로 읽어 무엇으로 바꿨는지 확인합니다. 형식을 잘못 짐작했으면 입력 형식을 직접 고릅니다.
    4. 결과 복사나 파일로 저장으로 가져갑니다. 저장할 때 확장자는 형식에 맞게 붙습니다.

    예시

    다음 세 줄짜리 YAML을 넣습니다. name: 도구모아, port: 8080, tags: [yaml, json]. JSON 으로를 누르면 {"name": "도구모아", "port": 8080, "tags": ["yaml", "json"]} 이 여덟 줄로 펼쳐져 나오고, TOML 로를 누르면 name = "도구모아", port = 8080, tags = [ "yaml", "json" ] 세 줄이 나옵니다. 8080은 세 형식 모두에서 숫자이고, YAML에서 따옴표 없이 쓴 글자는 JSON과 TOML에서 따옴표가 붙습니다.

    세 형식의 차이

    YAMLJSONTOML
    구조 표시들여쓰기중괄호와 대괄호[표 이름] 과 키 = 값
    문자열 따옴표대부분 생략 가능겹따옴표 필수따옴표 필수
    주석#없음#
    nullnull, ~, 빈 값null없음
    날짜있음없음 (글자로 적음)있음
    잘 맞는 곳단계가 깊고 사람이 자주 고치는 설정프로그램끼리 주고받는 자료단계가 얕은 설정, 실수하기 어려운 문법

    YAML에서 흔히 틀리는 곳

    • 들여쓰기에 탭: YAML은 들여쓰기에 공백만 허용합니다. 편집기가 탭을 넣었으면 오류가 납니다. 오류 안내에 탭이 있는 줄 번호를 함께 적어 드립니다.
    • 콜론 뒤 공백: key:value 는 키와 값이 아니라 글자 하나로 읽힙니다. key: value 처럼 띄어야 합니다.
    • 값 안의 콜론과 #: title: 공지: 점검 안내 는 오류입니다. title: "공지: 점검 안내" 로 감쌉니다. 공백 뒤의 # 은 주석의 시작이 됩니다.
    • 숫자로 읽히는 글자: version: 1.10 은 숫자 1.1이 됩니다. zip: 04524 는 숫자 4524가, phone: 01012345678 은 1012345678이 됩니다. 글자로 써야 하는 값은 따옴표로 감쌉니다.
    • yes, no, on, off: YAML 1.1을 따르는 프로그램은 참·거짓으로 읽습니다. 국가 코드 NO 가 false가 되는 문제로 유명합니다.

    마지막 두 가지와 09:30 같은 시:분 꼴의 값은 문법 오류가 아니어서 변환은 되지만, 뜻과 다르게 읽힐 수 있어 결과 위에 "YAML 에서 흔히 실수하는 곳"으로 줄 번호와 함께 알려 드립니다.

    TOML로 바꿀 때 알아 둘 규칙

    • 문자열은 반드시 따옴표로 감쌉니다. name = 도구모아 는 오류입니다.
    • 안쪽 객체는 [server] 같은 표가 되고, 객체가 여러 개 든 배열은 [[tools]] 를 항목마다 되풀이하는 꼴이 됩니다.
    • null을 적을 방법이 없습니다. TOML 로 바꿀 때 null 값은 빼기를 켜면 그 키를 빼고 변환합니다.
    • 맨 바깥이 배열이거나 값 하나인 자료는 TOML 문서가 될 수 없습니다.

    옵션

    • 입력 형식: 보통은 자동으로 둡니다. YAML은 JSON을 포함하는 형식이라 틀린 JSON이 YAML로 읽히는 일이 있으니, JSON 검사가 목적이면 JSON으로 고정하세요.
    • 들여쓰기: YAML과 JSON 결과의 들여쓰기 폭입니다.
    • 키 정렬: 모든 단계의 키를 ABC·가나다순으로 놓습니다. 두 설정 파일을 비교하기 전에 켜면 순서 차이가 없어집니다.
    • YAML 긴 줄을 접지 않기: 끄면 80자를 넘는 문자열을 여러 줄로 접어 적습니다. 값은 같지만 모양이 달라져 보통은 켜 둡니다.
    • YAML 문자열에 항상 따옴표: 모든 문자열을 겹따옴표로 감싸 위에서 말한 숫자·참거짓 혼동을 막습니다.

    변환에서 사라지거나 바뀌는 것

    • 주석은 옮겨지지 않습니다.
    • YAML의 앵커(&이름)와 별칭(*이름)은 풀어서 값을 되풀이해 적습니다.
    • YAML과 TOML의 날짜는 JSON에서 "2026-11-09T00:00:00.000Z" 같은 글자가 됩니다.
    • 파일을 두 개 이상 고르면 확장자로 형식을 가려 지금 고른 형식으로 모두 바꾸고 ZIP으로 저장합니다.

    자주 묻는 질문

    YAML 오류는 어떻게 찾아 주나요?

    틀린 곳의 줄과 칸, 이유를 한국어로 알려 주고 해석기가 낸 영어 원문도 함께 적습니다. 그 줄과 바로 윗줄을 보여 주고 위치에 ^ 표시를 붙입니다. 들여쓰기 오류는 실제로 틀린 줄의 다음 줄이 가리켜지는 일이 많아 윗줄을 함께 보여 드립니다.

    변환하면 주석도 옮겨지나요?

    옮겨지지 않습니다. 변환은 글을 값으로 읽은 뒤 다른 형식으로 다시 적는 방식이라 값이 아닌 주석은 남지 않습니다. JSON에는 주석 문법 자체가 없습니다. 주석이 중요한 설정 파일이라면 변환 뒤에 직접 옮겨 적어야 합니다.

    YAML의 yes와 no가 true와 false로 바뀌나요?

    이 도구는 YAML 1.2 규칙을 따라 yes, no, on, off를 글자로 읽습니다. 하지만 YAML 1.1 규칙을 따르는 프로그램은 같은 값을 참·거짓으로 읽습니다. 프로그램마다 결과가 달라지는 값이라 따옴표 없이 쓰인 곳을 찾으면 주의 문구로 알려 드립니다.

    JSON을 TOML로 바꿀 때 오류가 납니다.

    TOML에는 null이 없고, 문서의 맨 바깥이 반드시 키와 값의 모음이어야 합니다. 값이 null인 키가 있으면 어느 키인지 알려 주며, null 값은 빼기 옵션을 켜면 그 키를 빼고 변환합니다. 맨 바깥이 배열인 JSON은 배열을 키 하나 아래에 넣어야 TOML이 됩니다.

    YAML 문서가 --- 로 여러 개 나뉘어 있으면 어떻게 되나요?

    쿠버네티스 매니페스트처럼 --- 로 나뉜 문서가 여러 개면 순서대로 배열 하나에 담아 변환하고, 몇 개를 묶었는지 알려 줍니다. 문서가 하나뿐이면 배열로 감싸지 않습니다.

    키 순서가 바뀌나요?

    키 정렬을 켜지 않으면 원본의 순서를 그대로 지킵니다. 다만 TOML로 바꿀 때는 형식의 규칙상 단순한 값이 먼저 나오고 안쪽 표([이름])가 뒤에 옵니다.

    함께 쓰면 좋은 도구

    마지막 수정 2026-11-09. 있었으면 하는 기능이나 불편한 점은 이 도구에 건의하기로 알려 주세요.