ToolDeck

TOML Formatter

Formátujte a validujte konfigurační soubory TOML

Zkusit příklad

TOML vstup

Formátovaný TOML

Běží lokálně · Bezpečné pro vkládání tajných údajů
Formátovaný TOML se zobrazí zde…
Vyzkoušejte také:TOML to JSON

Poslední aktualizace: duben 2026

Co je formátování TOML?

TOML (Tom's Obvious Minimal Language) je formát konfiguračních souborů, který vytvořil Tom Preston-Werner v roce 2013. Přímo se mapuje na hashovací tabulku a používá explicitní typování pro všechny hodnoty. TOML formátovač vezme surový nebo nekonzistentně stylizovaný TOML a znovu jej serializuje s jednotným odsazením, správným zarovnáním a kanonickým řazením klíčů. Výsledkem je soubor dodržující stejné konvence v celém projektu, což usnadňuje přehled změn konfigurace v diffech.

Specifikace TOML v1.0.0, finalizovaná v lednu 2021, definuje gramatiku natolik striktně, že každý vyhovující parser produkuje ze stejného vstupu identickou datovou strukturu. Formátování nemění sémantický obsah souboru TOML. Upravuje pouze bílé znaky, seskupení klíčů a styl uvozování. Soubory TOML proto můžete formátovat volně, aniž byste se museli obávat narušení chování aplikace.

Na rozdíl od JSON podporuje TOML komentáře, nativní typy datum/čas a více forem řetězců (základní, literální a víceřádkové). Dobrý formátovač zachovává komentáře a respektuje rozdíl mezi inline tabulkami a standardními záhlavími tabulek. Správně zpracovává také pole tabulek a zachovává seskupení sekcí, takže soubor zůstává čitelný jak pro lidi, tak pro parsery.

Before · toml
After · toml
title="My App"
version="1.0.0"
debug=false
[database]
host="localhost"
port=5432
name="mydb"
[database.pool]
max_connections=25
timeout=30
[[servers]]
name="web"
host="web.example.com"
[[servers]]
name="api"
host="api.example.com"
title = "My App"
version = "1.0.0"
debug = false

[database]
host = "localhost"
port = 5432
name = "mydb"

[database.pool]
max_connections = 25
timeout = 30

[[servers]]
name = "web"
host = "web.example.com"

[[servers]]
name = "api"
host = "api.example.com"

Proč používat TOML formátovač?

Konfigurační soubory postupem času akumulují stylistické odchylky, jak je upravují různí členové týmu. Tabulátory se mísí s mezerami, některé klíče jsou zbytečně uvozovány a sekce tabulek ztrácejí vizuální seskupení. TOML formátovač toto vše normalizuje v jednom průchodu.

Okamžité formátování
Vložte neformátovaný TOML a okamžitě získáte čistý, konzistentně stylizovaný výstup. Žádná instalace CLI, žádné nastavení projektu, žádné čekání na build krok.
🔒
Zpracování s důrazem na soukromí
Veškeré parsování a formátování probíhá v prohlížeči. Vaše konfigurační data, včetně přihlašovacích údajů nebo interních názvů hostitelů, nikdy neopustí váš počítač.
Validace v ceně
Formátovač před re-serializací váš TOML zparsuje. Pokud vstup obsahuje syntaktické chyby, zobrazí se jasná chybová zpráva s problematickým řádkem — formátování tak zároveň slouží jako validace.
📋
Bez nutnosti registrace
Otevřete stránku a začněte formátovat. Žádná registrace, žádný limit požadavků a žádné sledování využití. Nástroj funguje stejně při každé návštěvě.

Případy použití TOML formátovače

Frontendový vývoj
Formátujte soubory wrangler.toml pro projekty Cloudflare Workers nebo deno.toml pro frontendy na bázi Deno. Čisté formátování pomáhá při přehledu konfigurace nasazení v pull requestech.
Backendové inženýrství
Standardizujte soubory Cargo.toml napříč více Rust mikroslužbami. Konzistentní formátování usnadňuje přehled verzí závislostí a příznaků funkcí napříč repozitáři.
DevOps a CI/CD
Formátujte konfigurační soubory jako .goreleaser.toml, netlify.toml nebo konfigurace výzvy Starship před odevzdáním. Přidejte kontrolu formátování do CI pipeline pro vynucení konzistentního stylu.
QA a testování
Rychle naformátujte testovací vzorky, aby byly čitelné a snadno porovnatelné v diffech. Když test selže kvůli rozdílům v konfiguraci, naformátované soubory okamžitě ukáží rozdíl mezi skutečnou a očekávanou hodnotou.
Datové inženýrství
Formátujte konfigurace Telegraf nebo InfluxDB, které definují pipeline pro sběr dat. Tyto soubory často dorůstají do stovek řádků a konzistentní formátování je udržuje spravovatelné.
Výuka syntaxe TOML
Vložte příklady z dokumentace nebo tutoriálů a sledujte, jak je formátovač normalizuje. Je to rychlý způsob, jak se naučit, které styly závorek, pravidla uvozování a seskupení tabulek jsou kanonické.

Reference syntaxe TOML

TOML má malou sadu konstruktů. Níže uvedená tabulka uvádí každý strukturální prvek definovaný ve specifikaci TOML v1.0.0. Formátovač aplikuje konzistentní mezery a seskupení na všechny z nich.

SyntaxeNázevPoznámky
key = "value"Basic key-value pairKeys are bare or quoted; values are typed
[table]Standard tableCreates a named section (hash table)
[a.b.c]Dotted tableShorthand for nested tables
[[array]]Array of tablesEach [[name]] block appends to an array
key = """...\n"""Multi-line basic stringAllows newlines, escapes processed
key = '''...\n'''Multi-line literal stringAllows newlines, no escape processing
# commentCommentExtends to end of line; not in JSON output
{inline = true}Inline tableSingle-line table, no newlines allowed

TOML vs JSON vs YAML

TOML, JSON a YAML řeší překrývající se problémy, ale přistupují k nim odlišně.

FunkceTOMLJSONYAML
Komentáře# řádkové komentářeNepodporováno# řádkové komentáře
Typované hodnotyŘetězec, celé číslo, desetinné číslo, bool, datum/časŘetězec, číslo, bool, nullOdvozené (náchylné k chybám)
VnořováníZáhlaví [tabulky]Složené závorkyNa základě odsazení
Striktnost specifikaceStriktní (jeden výsledek parsování)Striktní (RFC 8259)Volná (více platných parsování)
Podpora datum/čas4 nativní typyŽádná (použijte řetězce)Implicitní (nespolehlivé)
Závěrečné čárkyNení povolenoNení povolenoNevztahuje se (žádné čárky)

Příklady kódu

Níže uvedené příklady formátují TOML programově v různých jazycích a nástrojích. Každý načte soubor, zparsuje jej a zapíše naformátovanou verzi.

JavaScript (Node.js)
import { parse, stringify } from '@iarna/toml'
import fs from 'fs'

const raw = fs.readFileSync('config.toml', 'utf-8')
const doc = parse(raw)
const formatted = stringify(doc)
// stringify() outputs canonical TOML with consistent spacing
fs.writeFileSync('config.toml', formatted)

// Quick one-liner with npx:
// npx taplo fmt config.toml
Python
import tomllib   # Python 3.11+ (read-only)
import tomli_w   # pip install tomli-w (write)

# Parse and re-serialize to format
with open("config.toml", "rb") as f:
    data = tomllib.load(f)

formatted = tomli_w.dumps(data)
# tomli_w produces sorted keys, consistent quoting, and
# proper whitespace around = signs
print(formatted)

# CLI alternative: taplo fmt config.toml
Go
package main

import (
    "fmt"
    "os"
    "github.com/BurntSushi/toml"
    "bytes"
)

func main() {
    var data map[string]interface{}
    _, err := toml.DecodeFile("config.toml", &data)
    if err != nil {
        fmt.Fprintln(os.Stderr, err) // parse error with line number
        os.Exit(1)
    }
    var buf bytes.Buffer
    enc := toml.NewEncoder(&buf)
    enc.Indent = "  "
    enc.Encode(data) // re-serialized with consistent formatting
    fmt.Print(buf.String())
}
CLI (taplo)
# Install taplo — the standard TOML toolkit
cargo install taplo-cli
# or: npm install -g @taplo/cli

# Format a single file in place
taplo fmt config.toml

# Format all .toml files in a project
taplo fmt

# Check formatting without modifying (CI-friendly)
taplo fmt --check

# Validate TOML syntax without formatting
taplo lint config.toml

Nejčastější dotazy

Co dělá TOML formátovač?
TOML formátovač zparsuje soubor do datové struktury a poté jej znovu serializuje s konzistentními bílými znaky, řazením klíčů a uvozováním. Sémantický obsah zůstává stejný. Mění se pouze vizuální prezentace: mezery kolem znaménka rovnítka, prázdné řádky mezi sekcemi tabulek a odsazení vnořených hodnot.
Je formátování TOML bezpečné pro produkční konfigurační soubory?
Ano. Formátování mění pouze bílé znaky a kosmetické detaily. Datová struktura vzniklá parsováním je před formátováním i po něm identická. Pokud formátovač narazí na neplatný vstup, hlásí chybu místo vytvoření poškozeného výstupu. Ověřit to lze zparsováním obou verzí a porovnáním výsledných objektů.
Čím se TOML liší od JSON?
TOML podporuje komentáře, nativní typy datum/čas, víceřádkové řetězce a záhlaví tabulek pro organizaci vnořených dat. JSON nic z toho nemá. Formát je navržen pro konfigurační soubory, které lidé čtou a upravují. JSON je navržen pro výměnu dat mezi programy. V JSON nelze používat komentáře, což ztěžuje dokumentování konfiguračních rozhodnutí přímo v souboru.
Mohu formátovat TOML z příkazového řádku?
Ano. Taplo je nejrozšířenější CLI formátovač pro TOML. Nainstalujte jej pomocí cargo install taplo-cli nebo npm install -g @taplo/cli a spusťte taplo fmt pro naformátování všech souborů .toml v projektu. Podporuje konfiguraci přes soubor taplo.toml nebo .taplo.toml pro vlastní pravidla.
Zachovává formátování komentáře v souborech TOML?
Tento formátovač v prohlížeči zparsuje vstup do datové struktury a znovu jej serializuje, čímž komentáře odstraní. Pokud potřebujete zachovat komentáře, použijte nástroj pracující s CST, jako je Taplo (CLI) nebo toml-edit (knihovna pro Rust), které pracují s konkrétním syntaktickým stromem místo zparsovaných dat.
Jaký je rozdíl mezi formátováním TOML a validací TOML?
Validace ověřuje, zda soubor odpovídá specifikaci, a hlásí chyby, pokud ne. Formátování jde o krok dál: vstup validuje a poté jej přepíše s normalizovaným stylem. Každá operace formátování zahrnuje validaci jako první krok, takže soubor, který se úspěšně naformátuje, je zaručeně platný.
Které projekty používají TOML jako formát konfigurace?
Cargo v Rustu (Cargo.toml), ekosystém Python packaging (pyproject.toml), statické weby Hugo, Deno (deno.toml), Cloudflare Workers (wrangler.toml), InfluxDB, Telegraf a výzva Starship — to vše používá TOML. Formát získal popularitu poté, co jej Rust v roce 2015 přijal jako standard pro manifesty balíčků.