본문 바로가기

TOML ↔ JSON 변환기

브라우저 처리

TOML 설정을 JSON으로, JSON을 TOML로 바꿉니다. 표와 표 배열([[ ]]), 날짜, 여러 줄 문자열을 정확히 옮기고, TOML에 없는 null 값은 빠진 개수를 알려 줍니다.

사용 전 확인
  • 파일·이미지·문서 처리 도구는 브라우저 안에서 처리되더라도 원본에 개인정보나 민감 정보가 포함될 수 있습니다. 공유·제출 전 원본과 결과를 한 번 더 확인하세요.
도구 실행입력 후 결과 확인
TOML ↔ JSON 변환기 샘플 실행

TOML 설정을 코드에서 다루거나 다른 시스템에 넘기려면 JSON으로 바꾸는 것이 편하고, 반대로 JSON 데이터를 TOML 설정 파일로 만들 때도 있습니다. 이 변환기는 두 방향을 모두 지원합니다.

브라우저 처리
샘플 결과
# null 값 1개는 TOML에 없는 값이라 뺐습니다.
a = 1

[b]
c = [1, 2]

[b.d]
e = "x"

[[list]]
k = 1

[[list]]
k = 2
자바스크립트가 활성화되면 이 영역이 실제 입력, 실행, 결과 패널로 바뀝니다.

TOML ↔ JSON 변환기 사용 가이드

TOML 설정을 코드에서 다루거나 다른 시스템에 넘기려면 JSON으로 바꾸는 것이 편하고, 반대로 JSON 데이터를 TOML 설정 파일로 만들 때도 있습니다. 이 변환기는 두 방향을 모두 지원합니다.

'TOML → JSON'은 TOML 1.0 규칙으로 파일을 읽어 [server.tls] 같은 중첩 표는 중첩 객체로, [[tools]] 표 배열은 객체 배열로, 1_000·0xff 같은 숫자는 숫자로 바꿉니다. JSON에는 날짜 형식이 없어 날짜·시간은 글자로 들어갑니다. 'JSON → TOML'은 일반 값을 위에, 중첩 객체를 [표]로, 객체 배열을 [[표 배열]]로 씁니다.

TOML에는 null이 없어 JSON의 null 값은 빼고, 맨 위에 '# null 값 1개는 … 뺐습니다' 주석으로 알려 줍니다. 맨 바깥이 배열인 JSON은 TOML로 바꿀 수 없습니다.

사용 방법

  1. '변환 방향'에서 'TOML → JSON' 또는 'JSON → TOML'을 고릅니다.
  2. 'TOML 또는 JSON' 칸에 바꿀 내용을 붙여 넣습니다.
  3. '실행'을 누른 뒤 결과를 '결과 복사'하거나 '다운로드'합니다.

예시: 중첩 객체와 배열이 든 JSON (JSON → TOML)

입력
{"a":1,"n":null,"b":{"c":[1,2],"d":{"e":"x"}},"list":[{"k":1},{"k":2}]}
결과
# null 값 1개는 TOML에 없는 값이라 뺐습니다.
a = 1

[b]
c = [1, 2]

[b.d]
e = "x"

[[list]]
k = 1

[[list]]
k = 2

객체 배열 list는 [[list]] 표 배열 두 개로 바뀌었습니다.

이럴 때 쓰면 좋아요

  • pyproject.toml이나 Cargo.toml 값을 스크립트에서 쓰려고 JSON으로 볼 때
  • JSON 설정을 TOML을 쓰는 도구(Hugo, Netlify 등)용으로 옮길 때
  • TOML의 표 배열이 어떤 구조인지 JSON으로 확인할 때
  • 설정 파일 형식을 팀 표준에 맞춰 바꿀 때

문제가 생겼을 때

'맨 바깥이 JSON 객체여야 합니다'

TOML 문서는 키 = 값 묶음이라 [1, 2] 같은 배열을 맨 바깥에 둘 수 없습니다. {"items": [1, 2]}처럼 객체로 감싸세요.

JSON의 날짜가 TOML에서 따옴표 글자가 됨

JSON에는 날짜 형식이 없어 글자로 옮깁니다. TOML 날짜가 필요하면 결과에서 따옴표를 지워 1979-05-27T07:32:00Z처럼 쓰세요.

활용 팁

  • TOML → JSON 결과를 다시 JSON → TOML로 바꾸면 날짜가 따옴표 글자가 되는 것 외에는 같은 데이터가 됩니다.
  • 변환 전에 TOML 포맷터·검사기로 문법을 확인하면 오류 위치를 더 빨리 찾을 수 있습니다.

자주 묻는 질문

주석도 JSON으로 옮겨지나요?

아니요. JSON에는 주석이 없어 TOML 주석은 버립니다.

inf나 nan 값은 어떻게 되나요?

JSON에는 무한대·NaN이 없어 null로 바뀝니다. 이런 값이 있다면 TOML 원본을 그대로 쓰세요.

키 이름에 공백이 있으면요?

TOML로 바꿀 때 "home page" = …처럼 큰따옴표 키로 씁니다. 영문·숫자·_·-만 있는 키는 따옴표 없이 씁니다.