Formateur TOML

Collez du TOML et l’espacement est normalisé — clés, chaînes et valeurs restent intacts.

Mode d’emploi

  1. Collez votre TOML dans la zone — il est formaté au fil de la frappe, aucun bouton à cliquer.
  2. Choisissez 2 ou 4 espaces pour les tableaux multilignes, et activez Aligner = si vous voulez aligner les signes égal ; le résultat s’actualise immédiatement.
  3. Si quelque chose ne va pas, le message indique la ligne, la colonne et la raison. Copiez le résultat ou téléchargez-le sous forme de fichier .toml.

Exemple

Saisie

[package]
name="ykit"
version = "0.1.0"
edition="2021"
authors = ["Ada Lovelace <ada@example.com>",  "Grace Hopper <grace@example.com>"]
keywords=["outils",   "toml"]

[dependencies]
serde={version="1.0",features=["derive"]}

Formaté

[package]
name = "ykit"
version = "0.1.0"
edition = "2021"
authors = ["Ada Lovelace <ada@example.com>", "Grace Hopper <grace@example.com>"]
keywords = ["outils", "toml"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }

Règles par défaut uniquement : deux espaces et aucun alignement. L’ordre des clés, le contenu des chaînes et l’ordre des tableaux restent intacts ; la table en ligne ne voit que son espacement normalisé, jamais de virgule finale.

Règles, limites et problèmes connus

  • Syntaxe et conflits de clés/tables uniquement : clés répétées, tables définies deux fois, collisions clé/table, chaînes et échappements, nombres, dates, tableaux et tables en ligne. Pas de schéma, pas de sémantique métier, pas de correction automatique.
  • Seuls les espaces hors des chaînes et des commentaires sont réécrits. L’ordre des clés et des tables, les clés nues ou entre guillemets, les délimiteurs et échappements de chaînes, l’orthographe des nombres/dates/booléens et le texte des commentaires sont copiés caractère par caractère.
  • Les tableaux sur une ligne restent sur une ligne ; les tableaux multilignes gardent un élément par ligne avec leurs commentaires et leur virgule finale. Les tables en ligne sont imprimées sur une ligne, si bien que les tableaux qu’elles contiennent sont ramenés sur une ligne ; les sauts de ligne à l’intérieur d’une chaîne multiligne sont du contenu et restent tels que saisis, ce qui peut faire s’étendre une table en ligne sur plusieurs lignes.
  • Un saut de ligne ou un commentaire dans une table en ligne est une erreur de syntaxe (TOML lui-même interdit les deux). Un commentaire en fin de ligne reste à un espace après le code, et les espaces en fin de commentaire sont supprimés.
  • Les suites de lignes vides sont réduites à une seule, les lignes vides de début et de fin sont supprimées, et aucune ligne vide n’est jamais ajoutée entre les tables.
  • Un tableau, une table en ligne ou une chaîne multiligne non fermé tout à la fin, un en-tête de table tronqué, un `key =` nu ou un chemin de clé coupé juste après un point constituent un avertissement, pas une erreur : vous obtenez tout de même un résultat. Les vraies erreurs (virgule manquante, valeur sans guillemets, date invalide) sont des erreurs avec ligne et colonne. Seule la première erreur est signalée.
  • Les numéros de ligne et de colonne comptent les points de code Unicode : un émoji occupe donc une colonne ; CRLF compte pour un seul saut de ligne. Seuls l’espace et la tabulation sont des espaces TOML : U+3000 et U+00A0 hors d’une chaîne sont des erreurs, tandis qu’à l’intérieur d’une chaîne ils sont du contenu.
  • Les clés nues sont ASCII uniquement — les clés chinoises ou arabes doivent être entre guillemets, ce qui relève de TOML lui-même et non d’une préférence de cet outil. Les nombres et les dates ne sont jamais réécrits ni convertis dans un autre système de chiffres.
  • Pas de minification, pas de tri des clés, pas de normalisation des valeurs, pas d’envoi de fichier, pas de paramètres d’URL, pas d’historique. Tout s’exécute dans votre navigateur : rien n’est envoyé ni stocké.
  • Au-delà de 200 000 caractères, le résultat s’actualise environ 0,6 s après l’arrêt de la frappe ; le texte n’est jamais tronqué. La sortie utilise LF sans saut de ligne final, et le formatage est idempotent avec les mêmes réglages d’alignement et d’indentation.

Ce dont on a généralement besoin ensuite, une fois la configuration lisible.