ToolDeck

Formateur TOML

Formatez et validez des fichiers de configuration TOML

Essayer un exemple

Entrée TOML

TOML Formaté

Fonctionne localement · Sûr pour coller des secrets
Le TOML formaté apparaîtra ici…
Essayez aussi :TOML vers JSON

Dernière mise à jour : avril 2026

Qu'est-ce que le formatage TOML ?

TOML (Tom's Obvious Minimal Language) est un format de fichier de configuration créé par Tom Preston-Werner en 2013. Il se mappe directement vers une table de hachage et utilise un typage explicite pour toutes les valeurs. Un formateur TOML prend du TOML brut ou stylé de manière incohérente et le re-sérialise avec un espacement uniforme, une indentation correcte et un ordre canonique des clés. Le résultat est un fichier qui respecte les mêmes conventions dans l'ensemble de votre projet, ce qui facilite la revue des modifications de configuration dans les diffs.

La spécification TOML v1.0.0, finalisée en janvier 2021, définit la grammaire de manière assez stricte pour que tout parseur conforme produise une structure de données identique à partir d'une même entrée. Le formatage ne modifie pas le contenu sémantique d'un fichier TOML. Il ajuste uniquement les espaces, le regroupement des clés et le style de citation. Vous pouvez donc formater des fichiers TOML librement sans craindre de modifier le comportement de votre application.

Contrairement à JSON, TOML prend en charge les commentaires, les types date/heure natifs et plusieurs formes de chaînes (basique, littérale et multi-ligne). Un bon formateur préserve les commentaires et respecte la distinction entre les tables en ligne et les en-têtes de table standard. Il gère également correctement les tableaux de tables, en conservant le regroupement des sections pour que le fichier reste lisible aussi bien pour les humains que pour les parseurs qui le consomment.

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"

Pourquoi utiliser un formateur TOML ?

Les fichiers de configuration accumulent une dérive de style au fil du temps lorsque différents membres de l'équipe les modifient. Les tabulations se mélangent aux espaces, certaines clés sont citées inutilement et les sections de table perdent leur regroupement visuel. Un formateur TOML normalise tout cela en un seul passage.

Formatage instantané
Collez du TOML non formaté et obtenez immédiatement une sortie propre et cohérente. Pas d'installation CLI, pas de configuration de projet, pas d'attente pour une étape de build.
🔒
Traitement respectueux de la confidentialité
L'analyse et le formatage s'exécutent entièrement dans votre navigateur. Vos données de configuration, y compris les identifiants ou les noms d'hôtes internes, ne quittent jamais votre machine.
Validation incluse
Le formateur analyse votre TOML avant de le re-sérialiser. Si l'entrée contient des erreurs de syntaxe, vous obtenez un message d'erreur clair indiquant la ligne problématique — le formatage fait donc aussi office de validation.
📋
Aucun compte requis
Ouvrez la page et commencez à formater. Pas d'inscription, pas de limite de débit et pas de suivi d'utilisation. L'outil fonctionne de manière identique à chaque visite.

Cas d'utilisation du formateur TOML

Développement frontend
Formatez les fichiers wrangler.toml pour les projets Cloudflare Workers ou la configuration deno.toml pour les frontends Deno. Un formatage soigné facilite la revue des configs de déploiement dans les pull requests.
Ingénierie backend
Standardisez les fichiers Cargo.toml sur plusieurs microservices Rust. Un formatage cohérent permet d'analyser facilement les versions de dépendances et les feature flags dans les dépôts.
DevOps et CI/CD
Formatez les fichiers de configuration comme .goreleaser.toml, netlify.toml ou les configs du prompt Starship avant de les committer. Ajoutez une vérification de formatage aux pipelines CI pour imposer la cohérence du style.
QA et tests
Formatez rapidement les fixtures de test pour les rendre lisibles et comparables dans les diffs. Lorsqu'un test échoue à cause de différences de configuration, les fichiers formatés rendent évidente la comparaison entre la valeur réelle et la valeur attendue.
Ingénierie des données
Formatez les configurations Telegraf ou InfluxDB qui définissent des pipelines de collecte de données. Ces fichiers atteignent souvent des centaines de lignes, et un formatage cohérent les maintient lisibles.
Apprentissage de la syntaxe TOML
Collez des exemples issus de la documentation ou de tutoriels et observez comment un formateur les normalise. C'est un moyen rapide d'apprendre quels styles de crochets, règles de citation et regroupements de tables sont canoniques.

Référence de la syntaxe TOML

TOML dispose d'un ensemble réduit de constructions. Le tableau ci-dessous liste chaque élément structurel défini dans la spécification TOML v1.0.0. Un formateur applique un espacement et un regroupement cohérents à tous ces éléments.

SyntaxeNomNotes
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 et YAML résolvent des problèmes similaires mais font des compromis différents.

FonctionnalitéTOMLJSONYAML
Commentaires# commentaires en ligneNon supporté# commentaires en ligne
Valeurs typéesString, int, float, bool, datetimeString, number, bool, nullInférées (source d'erreurs)
ImbricationEn-têtes [table]AccoladesBasée sur l'indentation
Rigueur de la spécificationStricte (un seul résultat de parsing)Stricte (RFC 8259)Laxiste (plusieurs parsings valides)
Support date/heure4 types natifsAucun (utiliser des chaînes)Implicite (fragile)
Virgules finalesNon autoriséesNon autoriséesN/A (pas de virgules)

Exemples de code

Les exemples ci-dessous formatent du TOML par programmation dans différents langages et outils. Chacun lit un fichier, l'analyse et écrit une version formatée.

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

Questions fréquemment posées

Que fait un formateur TOML ?
Un formateur TOML analyse le fichier dans une structure de données, puis le re-sérialise avec des espaces blancs cohérents, un ordre des clés et un style de citation normalisés. Le contenu sémantique reste identique. Seule la présentation visuelle change : l'espacement autour des signes égal, les lignes vides entre les sections de table et l'indentation des valeurs imbriquées.
Le formatage TOML est-il sûr pour les fichiers de configuration en production ?
Oui. Le formatage modifie uniquement les espaces blancs et les détails cosmétiques. La structure de données analysée avant et après le formatage est identique. Si le formateur rencontre une entrée invalide, il signale une erreur plutôt que de produire une sortie incorrecte. Vous pouvez vérifier cela en analysant les deux versions et en comparant les objets résultants.
En quoi TOML diffère-t-il de JSON ?
TOML prend en charge les commentaires, les types date/heure natifs, les chaînes multi-lignes et les en-têtes de table pour organiser les données imbriquées. JSON ne dispose d'aucune de ces fonctionnalités. Ce format est conçu pour les fichiers de configuration que les humains lisent et modifient. JSON est conçu pour l'échange de données entre programmes. L'absence de commentaires dans JSON rend plus difficile la documentation des décisions de configuration en ligne.
Puis-je formater du TOML en ligne de commande ?
Oui. Taplo est le formateur TOML CLI le plus utilisé. Installez-le avec cargo install taplo-cli ou npm install -g @taplo/cli, puis exécutez taplo fmt pour formater tous les fichiers .toml de votre projet. Il prend en charge la configuration via un fichier taplo.toml ou .taplo.toml pour des règles personnalisées.
Le formatage préserve-t-il les commentaires dans les fichiers TOML ?
Ce formateur dans le navigateur analyse l'entrée dans une structure de données et la re-sérialise, ce qui supprime les commentaires. Si vous avez besoin de conserver les commentaires, utilisez un outil tenant compte du CST comme Taplo (CLI) ou toml-edit (bibliothèque Rust), qui opèrent sur l'arbre de syntaxe concret plutôt que sur les données analysées.
Quelle est la différence entre le formatage TOML et la validation TOML ?
La validation vérifie si le fichier est conforme à la spécification et signale les erreurs le cas échéant. Le formatage va plus loin : il valide l'entrée, puis la réécrit avec un style normalisé. Chaque opération de formatage inclut la validation comme première étape — un fichier qui se formate avec succès est donc garanti d'être valide.
Quels projets utilisent TOML comme format de configuration ?
Cargo de Rust (Cargo.toml), l'écosystème de packaging Python (pyproject.toml), les sites statiques Hugo, Deno (deno.toml), Cloudflare Workers (wrangler.toml), InfluxDB, Telegraf et le prompt Starship utilisent tous TOML. Le format a gagné en popularité après que Rust l'a adopté comme standard pour les manifestes de packages en 2015.