Cú pháp
Quy tắc cơ bản
key = valueCặp key-value (mỗi dòng một cặp)
#Chú thích (đến cuối dòng)
Case sensitiveKey và value phân biệt hoa thường
UTF-8File phải là UTF-8 hợp lệ
No nullTOML không có kiểu null
Ví dụ tối giản
title = "My App" debug = true port = 8080
Strings
Các loại String
"basic"String cơ bản (hỗ trợ escape)
'literal'String literal (không escape)
"""multi"""String cơ bản nhiều dòng
'''multi'''String literal nhiều dòng
Ví dụ
basic = "Hello\nWorld" literal = 'C:\Users\path' multi = """ Line one Line two"""
Escape Sequences
\n \t \rXuống dòng, tab, carriage return
\\Dấu gạch chéo ngược
\uXXXXUnicode (hex 4 chữ số)
\UXXXXXXXXUnicode (hex 8 chữ số)
Số & Boolean
Các loại số
42Số nguyên
1_000_000Số nguyên có dấu gạch dưới
0xff / 0o77 / 0b11Hex, octal, nhị phân
3.14Số thực
5e+22 / 1e-2Ký hiệu khoa học
inf / nanGiá trị đặc biệt float
true / falseBoolean (chỉ viết thường)
Ví dụ
count = 42 price = 19.99 hex_color = 0xFF5733 enabled = true
Ngày tháng
Các loại Date & Time
2026-03-26T10:30:00ZDate-time có offset (UTC)
2026-03-26T10:30:00-05:00Date-time có offset (EST)
2026-03-26T10:30:00Date-time cục bộ (không múi giờ)
2026-03-26Ngày cục bộ
10:30:00Giờ cục bộ
Ví dụ
created = 2026-03-26T10:30:00Z birthday = 1990-05-15 alarm = 07:00:00
Tables
Cú pháp Table
[server] host = "localhost" port = 8080 [server.ssl] enabled = true cert = "/path/to/cert.pem"
Mảng Tables
[[users]] name = "Alice" role = "admin" [[users]] name = "Bob" role = "user"
Quy tắc
[name]Header table tiêu chuẩn
[a.b.c]Key có dấu chấm — table lồng nhau
[[name]]Mảng tables
No redefineKhông thể định nghĩa cùng table hai lần
Arrays
Cú pháp Array
colors = ["red", "green", "blue"] numbers = [1, 2, 3]
Array nhiều dòng
hosts = [ "alpha.example.com", "beta.example.com", ]

Dấu phẩy cuối được phép trong mảng TOML

Quy tắc
Same typeTất cả phần tử phải cùng kiểu
Trailing commaĐược phép sau phần tử cuối
NewlinesMảng có thể trải nhiều dòng
Inline Tables
Cú pháp Inline Table
point = { x = 1, y = 2 } user = { name = "Alice", admin = true }
Quy tắc
Single linePhải xuất hiện trên một dòng
No trailing commaKhông cho phép dấu phẩy cuối
No newlinesKhông thể trải nhiều dòng
No adding keysKhông thể thêm keys vào inline table sau
Inline vs Tiêu chuẩn
# Inline — compact, one-liners db = { host = "localhost", port = 5432 } # Standard — readable, extendable [db] host = "localhost" port = 5432
Các mẫu thường dùng
pyproject.toml
[project] name = "myapp" version = "1.0.0" dependencies = ["flask>=3.0"]
Cargo.toml
[package] name = "myapp" version = "0.1.0" edition = "2021"
Mẹo
taploBộ công cụ TOML — formatter và linter
No nullBỏ qua key thay vì đặt null
No anchorsKhông có hệ thống reference/alias như YAML
StrictKhông key trùng, không mảng kiểu hỗn hợp