TOML 서식 정리

TOML을 붙여 넣으면 공백이 정리됩니다. 키, 문자열, 값은 그대로.

사용 방법

  1. 상자에 TOML을 붙여 넣으세요. 입력하는 대로 정리되며 누를 버튼은 없습니다.
  2. 여러 줄 배열에 쓸 공백을 2칸이나 4칸으로 고르고, 등호를 맞추려면 “= 정렬”을 켜세요. 결과는 즉시 갱신됩니다.
  3. 문제가 있으면 메시지가 줄, 열, 이유를 알려 줍니다. 결과를 복사하거나 .toml 파일로 내려받으세요.

예시

입력

[package]
name="ykit"
version = "0.1.0"
edition="2021"
authors = ["김민준 <minjun@example.com>",  "이서연 <seoyeon@example.com>"]
keywords=["tools",   "toml"]

[dependencies]
serde={version="1.0",features=["derive"]}

정리 후

[package]
name = "ykit"
version = "0.1.0"
edition = "2021"
authors = ["김민준 <minjun@example.com>", "이서연 <seoyeon@example.com>"]
keywords = ["tools", "toml"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }

기본 규칙만 쓴 예시입니다. 두 칸 들여쓰기, 정렬 없음. 키 순서, 문자열 내용, 배열 순서는 그대로이고 인라인 테이블은 공백만 정리하며 끝 쉼표를 붙이지 않습니다.

규칙, 한계, 알려진 문제

  • 문법과 키/테이블 충돌만 봅니다. 반복 키, 두 번 정의된 테이블, 키/테이블 충돌, 문자열과 이스케이프, 숫자, 날짜, 배열, 인라인 테이블입니다. 스키마, 비즈니스 의미, 자동 수정은 없습니다.
  • 문자열과 주석 밖의 공백만 다시 씁니다. 키 순서, 테이블 순서, 맨 키와 따옴표 키, 문자열 구분자와 이스케이프, 숫자/날짜/불리언 표기, 주석 텍스트는 글자 하나까지 복사합니다.
  • 한 줄 배열은 한 줄에 두고, 여러 줄 배열은 항목마다 한 줄씩 주석과 끝 쉼표를 유지합니다. 인라인 테이블은 한 줄로 출력하므로 그 안의 배열도 한 줄로 접힙니다. 여러 줄 문자열 안의 줄바꿈은 콘텐츠라 그대로 남아 인라인 테이블이 여러 줄에 걸칠 수 있습니다.
  • 인라인 테이블 안의 줄바꿈이나 주석은 문법 오류입니다(TOML 자체가 둘 다 금지합니다). 끝 주석은 코드 뒤 한 칸에 두고 주석 끝의 공백은 지웁니다.
  • 연속된 빈 줄은 하나로 줄이고 앞뒤 빈 줄은 없애며 테이블 사이에 빈 줄을 더하지는 않습니다.
  • 맨 끝의 닫히지 않은 배열·인라인 테이블·여러 줄 문자열, 잘린 테이블 헤더, 값 없는 `key =`, 점 직후에서 끊긴 키 경로는 오류가 아니라 경고이며 결과는 그대로 나옵니다. 실제 실수(쉼표 누락, 따옴표 없는 값, 잘못된 날짜)는 줄과 열을 붙인 오류입니다. 첫 오류만 보고합니다.
  • 줄과 열은 유니코드 코드 포인트로 셉니다. 그래서 이모지도 한 열이고 CRLF는 줄바꿈 하나로 셉니다. TOML 공백은 공백과 탭뿐이라 문자열 밖의 U+3000과 U+00A0은 오류이고 문자열 안에서는 콘텐츠입니다.
  • 맨 키는 ASCII만 됩니다. 중국어나 아랍어 키에는 따옴표가 필요하며 이는 이 도구의 취향이 아니라 TOML 자체 규칙입니다. 숫자와 날짜는 다시 쓰거나 다른 숫자 체계로 바꾸지 않습니다.
  • 압축, 키 정렬, 값 정규화, 파일 업로드, URL 매개변수, 기록은 없습니다. 모든 처리가 브라우저에서 이루어지며 아무것도 업로드하거나 저장하지 않습니다.
  • 20만 자를 넘으면 입력을 멈추고 약 0.6초 뒤 결과가 갱신되며 텍스트를 잘라 내지 않습니다. 출력은 LF이고 끝에 줄바꿈이 없으며 같은 정렬·들여쓰기 설정이면 여러 번 정리해도 결과가 같습니다.

설정 파일을 읽기 좋게 만든 뒤 흔히 이어서 쓰는 도구입니다.