ToolDeck

Formattatore TOML

Formatta e valida file di configurazione TOML

Prova un esempio

Input TOML

TOML Formattato

Esegue in locale · Sicuro per incollare segreti
Il TOML formattato apparirà qui…
Prova anche:TOML in JSON

Ultimo aggiornamento: aprile 2026

Cos'è la Formattazione TOML?

TOML (Tom's Obvious Minimal Language) è un formato di file di configurazione creato da Tom Preston-Werner nel 2013. Si mappa direttamente a una tabella hash e utilizza la tipizzazione esplicita per tutti i valori. Un formattatore TOML prende del TOML grezzo o con uno stile non uniforme e lo ri-serializza con spaziatura uniforme, indentazione corretta e ordinamento canonico delle chiavi. Il risultato è un file che segue le stesse convenzioni in tutto il progetto, rendendo le modifiche alla configurazione più facili da revisionare nelle diff.

La specifica TOML v1.0.0, finalizzata nel gennaio 2021, definisce la grammatica in modo sufficientemente rigoroso da garantire che qualsiasi parser conforme produca una struttura dati identica dallo stesso input. La formattazione non modifica il contenuto semantico di un file TOML. Regola solo gli spazi bianchi, il raggruppamento delle chiavi e lo stile delle virgolette. Questo significa che puoi formattare liberamente i file TOML senza preoccuparti di alterare il comportamento della tua applicazione.

A differenza di JSON, TOML supporta i commenti, i tipi date-time nativi e più forme di stringa (base, letterale e multiriga). Un buon formattatore preserva i commenti e rispetta la distinzione tra tabelle inline e intestazioni di tabella standard. Gestisce correttamente anche gli array di tabelle, mantenendo intatto il raggruppamento delle sezioni in modo che il file rimanga leggibile sia per gli esseri umani sia per i parser che lo consumano.

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"

Perché Usare un Formattatore TOML?

I file di configurazione accumulano deriva di stile nel tempo, man mano che diversi membri del team li modificano. I tab si mescolano con gli spazi, alcune chiavi vengono virgolettate inutilmente e le sezioni di tabella perdono il loro raggruppamento visivo. Un formattatore TOML normalizza tutto questo in un solo passaggio.

Formattazione Immediata
Incolla TOML non formattato e ottieni subito un output pulito e con uno stile coerente. Nessuna installazione CLI, nessuna configurazione del progetto, nessuna attesa per un passaggio di build.
🔒
Elaborazione Privacy-first
Tutta l'analisi e la formattazione vengono eseguite nel tuo browser. I dati di configurazione, incluse eventuali credenziali o hostname interni, non lasciano mai il tuo computer.
Validazione Inclusa
Il formattatore analizza il TOML prima di ri-serializzarlo. Se l'input contiene errori di sintassi, ricevi un messaggio di errore chiaro con la riga problematica: la formattazione funge così anche da validazione.
📋
Nessun Account Richiesto
Apri la pagina e inizia a formattare. Nessuna registrazione, nessun limite di utilizzo, nessun tracciamento. Lo strumento funziona in modo identico a ogni visita.

Casi d'Uso del Formattatore TOML

Sviluppo Frontend
Formatta i file Wrangler.toml per i progetti Cloudflare Workers o la configurazione deno.toml per i frontend basati su Deno. Una formattazione pulita aiuta durante la revisione delle configurazioni di deployment nelle pull request.
Backend Engineering
Standardizza i file Cargo.toml su più microservizi Rust. Una formattazione coerente rende facile scansionare le versioni delle dipendenze e i feature flag tra i vari repository.
DevOps e CI/CD
Formatta file di configurazione come .goreleaser.toml, netlify.toml o le configurazioni del prompt Starship prima di eseguire il commit. Aggiungi un controllo di formattazione alle pipeline CI per imporre la coerenza dello stile.
QA e Test
Formatta rapidamente le fixture di test per renderle leggibili e facilmente confrontabili nelle diff. Quando un test fallisce a causa di differenze nella configurazione, i file formattati rendono evidente il confronto tra il valore attuale e quello atteso.
Data Engineering
Formatta le configurazioni di Telegraf o InfluxDB che definiscono le pipeline di raccolta dati. Questi file crescono spesso fino a centinaia di righe, e una formattazione coerente li mantiene gestibili.
Imparare la Sintassi TOML
Incolla esempi dalla documentazione o dai tutorial e osserva come un formattatore li normalizza. È un modo rapido per imparare quali stili di parentesi, regole di virgolettatura e raggruppamenti di tabelle sono canonici.

Riferimento alla Sintassi TOML

TOML ha un insieme ridotto di costrutti. La tabella seguente elenca ogni elemento strutturale definito nella specifica TOML v1.0.0. Un formattatore applica spaziatura e raggruppamento coerenti a tutti questi elementi.

SintassiNomeNote
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 e YAML risolvono problemi simili ma con compromessi diversi.

FunzionalitàTOMLJSONYAML
Commenti# commenti su rigaNon supportati# commenti su riga
Valori tipizzatiStringa, int, float, bool, datetimeStringa, numero, bool, nullInferiti (soggetto a errori)
AnnidamentoIntestazioni [tabella]Parentesi graffeBasato sull'indentazione
Rigore della specificaRigido (un solo risultato di parsing)Rigido (RFC 8259)Flessibile (più parsing validi)
Supporto data/ora4 tipi nativiAssente (usare stringhe)Implicito (fragile)
Virgole finaliNon consentiteNon consentiteN/A (nessuna virgola)

Esempi di Codice

Gli esempi seguenti mostrano come formattare TOML a livello di codice in diversi linguaggi e strumenti. Ciascuno legge un file, lo analizza e scrive una versione formattata.

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

Domande Frequenti

Cosa fa un formattatore TOML?
Un formattatore TOML analizza il file in una struttura dati, poi lo ri-serializza con spazi bianchi coerenti, ordinamento delle chiavi e stile delle virgolette. Il contenuto semantico rimane invariato. Cambia solo la presentazione visiva: spaziatura attorno ai segni di uguale, righe vuote tra le sezioni di tabella e indentazione dei valori annidati.
La formattazione TOML è sicura per i file di configurazione in produzione?
Sì. La formattazione modifica solo gli spazi bianchi e i dettagli estetici. La struttura dati risultante dal parsing prima e dopo la formattazione è identica. Se il formattatore incontra un input non valido, segnala un errore invece di produrre un output non corretto. Puoi verificarlo analizzando entrambe le versioni e confrontando gli oggetti risultanti.
In cosa si differenzia TOML da JSON?
TOML supporta i commenti, i tipi date-time nativi, le stringhe multiriga e le intestazioni di tabella per organizzare i dati annidati. JSON non ha nessuna di queste caratteristiche. Il formato è pensato per i file di configurazione che gli esseri umani leggono e modificano. JSON è progettato per lo scambio di dati tra programmi. Non è possibile usare i commenti in JSON, il che rende più difficile documentare le scelte di configurazione inline.
Posso formattare TOML dalla riga di comando?
Sì. Taplo è il CLI per formattare TOML più diffuso. Installalo con cargo install taplo-cli oppure npm install -g @taplo/cli, poi esegui taplo fmt per formattare tutti i file .toml nel tuo progetto. Supporta la configurazione tramite un file taplo.toml o .taplo.toml per regole personalizzate.
La formattazione preserva i commenti nei file TOML?
Questo formattatore basato su browser analizza l'input in una struttura dati e lo ri-serializza, eliminando i commenti. Se hai bisogno di preservare i commenti, usa uno strumento CST-aware come Taplo (CLI) o toml-edit (libreria Rust), che operano sull'albero sintattico concreto invece che sui dati analizzati.
Qual è la differenza tra formattazione e validazione TOML?
La validazione controlla se il file è conforme alla specifica e segnala gli errori in caso contrario. La formattazione fa un passo in più: valida l'input e poi lo riscrive con uno stile normalizzato. Ogni operazione di formattazione include la validazione come primo passo, quindi un file che viene formattato con successo è garantito essere valido.
Quali progetti usano TOML come formato di configurazione?
Cargo di Rust (Cargo.toml), l'ecosistema di packaging Python (pyproject.toml), i siti statici Hugo, Deno (deno.toml), Cloudflare Workers (wrangler.toml), InfluxDB, Telegraf e il prompt Starship usano tutti TOML. Il formato ha guadagnato popolarità dopo che Rust lo ha adottato come standard per i manifest dei pacchetti nel 2015.