100 % local — vos données ne quittent jamais votre navigateur

YAML en TOML — vos configs, converties

Convertissez une config YAML en TOML. Les mappages imbriqués deviennent des tables, prêtes pour Cargo, pyproject ou tout ce qui lit du TOML.

Instantané Privé Zéro cookie

Entrée YAML

Sortie TOML

Ce que fait cet outil

Les dictionnaires imbriqués deviennent des tables, les listes de dictionnaires des tableaux de tables :

db:
  host: db.example.com
  pool:
    size: 10
servers:
  - name: a
  - name: b
[db]
host = "db.example.com"

[db.pool]
size = 10

[[servers]]
name = "a"

[[servers]]
name = "b"

Trois choses que TOML ne peut pas porter

Null. TOML n’a pas de valeur nulle. Retirer la clé changerait ce que dit le fichier ; écrire "" inventerait une valeur. La conversion s’arrête et vous dit laquelle.

Une liste racine. Un fichier TOML est une table : le premier niveau, ce sont des paires clé/valeur, toujours. Un document YAML dont la racine est une séquence n’a nulle part où les mettre. Nommez la liste et elle se convertit.

Plusieurs documents. --- sépare les documents YAML ; TOML n’a pas de séparateur, ni de façon de dire « et voici un autre fichier ». Un à la fois.

Les dates restent des chaînes

2026-01-01 arrive en chaîne, parce que c’est ainsi que YAML 1.2 la lit, et repart en chaîne entre guillemets.

TOML a bien un type date natif, et l’employer reviendrait à décider que l’auteur pensait à une date. Parfois c’est le cas. Parfois 2026-01-01 est une référence produit, un nom de dossier, une version. Se tromper transforme du texte en horodatage, et ce n’est pas un changement que l’on remarque avant que quelque chose, plus loin, se mette à trier.

Un point à savoir sur les grands entiers

Un entier au-delà d’une quinzaine de chiffres est arrondi au passage. La conversion transite par JSON, dont les nombres sont des flottants double précision : c’est là que les chiffres se perdent.

yaml-to-json les garde exacts — il lit les chiffres tels qu’écrits. La frontière qui arrondit est celle que partagent toutes les conversions json-to-…, et elle sera traitée là-bas plutôt que rafistolée ici. En attendant : si votre fichier porte un identifiant de vingt chiffres, mettez-le entre guillemets dans le YAML et il traversera en chaîne, intact.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Pourquoi null est-il refusé plutôt qu’omis ?
Parce que TOML n’a pas de null, et que les deux façons de faire semblant sont fausses. Retirer la clé change ce que dit le fichier : un réglage absent n’est pas un réglage mis à rien. Écrire une chaîne vide invente une valeur. La conversion s’arrête et nomme la clé : c’est vous qui tranchez.
Pourquoi ma liste racine ne peut-elle pas être convertie ?
Parce qu’un fichier TOML est une table : le premier niveau, ce sont toujours des paires clé/valeur. Un document YAML dont la racine est une séquence n’a rien à quoi les accrocher. Donnez un nom à la liste — `items:` devant — et elle devient un tableau de tables.
Pourquoi ma date ressort-elle en chaîne entre guillemets ?
Parce que c’est ce qu’elle était en arrivant. YAML 1.2 lit `2026-01-01` comme une chaîne ; l’écrire en date TOML reviendrait à deviner que l’auteur pensait à une date, et se tromper transforme une référence produit comme `2026-01-01` en horodatage. Une chaîne entre guillemets garde exactement ce que le fichier contenait.

Convertisseurs associés