구문
기본 규칙
key = value키-값 쌍 (한 줄에 하나)
#주석 (줄 끝까지)
Case sensitive키와 값은 대소문자 구분
UTF-8파일은 유효한 UTF-8이어야 함
No nullTOML에는 null 타입 없음
최소 예제
title = "My App" debug = true port = 8080
문자열
문자열 타입
"basic"기본 문자열 (이스케이프 지원)
'literal'리터럴 문자열 (이스케이프 없음)
"""multi"""여러 줄 기본 문자열
'''multi'''여러 줄 리터럴 문자열
예제
basic = "Hello\nWorld" literal = 'C:\Users\path' multi = """ Line one Line two"""
이스케이프 시퀀스
\n \t \r개행, 탭, 캐리지 리턴
\\백슬래시
\uXXXX유니코드 (4자리 16진수)
\UXXXXXXXX유니코드 (8자리 16진수)
숫자 및 불리언
숫자 타입
42정수
1_000_000밑줄 구분 정수
0xff / 0o77 / 0b1116진수, 8진수, 2진수
3.14부동소수점
5e+22 / 1e-2지수 표기법
inf / nan특수 부동소수점 값
true / false불리언 (소문자만)
예제
count = 42 price = 19.99 hex_color = 0xFF5733 enabled = true
날짜
날짜 및 시간 타입
2026-03-26T10:30:00Z오프셋 날짜-시간 (UTC)
2026-03-26T10:30:00-05:00오프셋 날짜-시간 (EST)
2026-03-26T10:30:00로컬 날짜-시간 (시간대 없음)
2026-03-26로컬 날짜
10:30:00로컬 시간
예제
created = 2026-03-26T10:30:00Z birthday = 1990-05-15 alarm = 07:00:00
테이블
테이블 구문
[server] host = "localhost" port = 8080 [server.ssl] enabled = true cert = "/path/to/cert.pem"
테이블 배열
[[users]] name = "Alice" role = "admin" [[users]] name = "Bob" role = "user"
규칙
[name]표준 테이블 헤더
[a.b.c]점 표기법 — 중첩 테이블
[[name]]테이블 배열
No redefine같은 테이블을 두 번 정의 불가
배열
배열 구문
colors = ["red", "green", "blue"] numbers = [1, 2, 3]
여러 줄 배열
hosts = [ "alpha.example.com", "beta.example.com", ]

TOML 배열에서 후행 쉼표 허용

규칙
Same type모든 요소는 같은 타입이어야 함
Trailing comma마지막 요소 다음에 허용
Newlines배열은 여러 줄에 걸칠 수 있음
인라인 테이블
인라인 테이블 구문
point = { x = 1, y = 2 } user = { name = "Alice", admin = true }
규칙
Single line한 줄에 작성해야 함
No trailing comma후행 쉼표 불가
No newlines여러 줄에 걸칠 수 없음
No adding keys나중에 인라인 테이블에 키 추가 불가
인라인 vs 표준
# Inline — compact, one-liners db = { host = "localhost", port = 5432 } # Standard — readable, extendable [db] host = "localhost" port = 5432
자주 쓰는 패턴
pyproject.toml
[project] name = "myapp" version = "1.0.0" dependencies = ["flask>=3.0"]
Cargo.toml
[package] name = "myapp" version = "0.1.0" edition = "2021"
taploTOML 툴킷 — 포매터와 린터
No nullnull 설정 대신 키 생략
No anchorsYAML과 달리 참조/별칭 시스템 없음
Strict중복 키 없음, 혼합 타입 배열 없음