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

JSON en TOML — une config qui se lit

Convertissez du JSON en TOML. Tables, clés pointées et tableaux de tables sortent en une configuration qui se lit et se modifie à la main.

Instantané Privé Zéro cookie

Entrée JSON

Sortie TOML

Ce que fait cet outil

Les objets imbriqués deviennent des tables ; les tableaux d’objets, des tableaux de tables.

{
  "db": { "host": "localhost", "pool": { "size": 10 } },
  "servers": [{ "name": "a" }, { "name": "b" }]
}
[db]
host = "localhost"

[db.pool]
size = 10

[[servers]]
name = "a"

[[servers]]
name = "b"

La racine doit être un objet : un fichier TOML est une table, un tableau JSON au sommet n’a donc nulle part où accrocher ses clés.

C’est null qui arrête tout

TOML n’a pas de valeur nulle, et les deux façons de prétendre le contraire sont fausses :

  • retirer la clé change ce que dit le fichier — un réglage absent n’est pas un réglage mis à rien ;
  • écrire "" invente une valeur qui n’était pas là.

La conversion s’arrête donc et vous dit laquelle. C’est le seul endroit où elle refuse un document JSON valide, et elle le refuse parce que finir reviendrait à mentir.

Les entiers au-delà de 64 bits sont écrits tels quels

{ "id": 12345678901234567890 }

ressort avec ses vingt chiffres. Les entiers TOML sont signés sur 64 bits : cette valeur sort de la plage, et un lecteur strict refusera le fichier.

C’est délibéré. L’autre option — l’arrondir en 12345678901234567000, ce que fait un convertisseur qui passe par un double — vous rend un fichier qui s’analyse proprement et qui contient un autre nombre. Un échec bruyant vaut mieux qu’un mensonge discret.

Les dates restent des chaînes

JSON n’a pas de type date : "2026-01-01" arrive en texte et repart en "2026-01-01", entre guillemets.

TOML a bien des dates natives, et en employer une reviendrait à décider que l’auteur pensait à une date. Parfois oui ; parfois cette chaîne est une référence produit, un nom de dossier, une version. JSON nous a déjà dit que c’était du texte, et il n’y a aucune raison de le contredire.

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 un null arrête-t-il la conversion ?
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é : la décision vous revient.
Mon identifiant dépasse 64 bits. Que se passe-t-il ?
Il est écrit tel quel. Les entiers TOML sont signés sur 64 bits : une valeur de vingt chiffres sort de la plage, et un lecteur strict refusera le fichier — bruyamment. C’est le bon échec : l’autre option est de l’arrondir en un autre nombre et de vous rendre un fichier qui s’analyse et qui ment.
Pourquoi ma date est-elle une chaîne entre guillemets ?
Parce que c’était une chaîne dans le JSON. TOML a bien des dates natives, mais en écrire une reviendrait à décider que `"2026-01-01"` est une date plutôt qu’une référence produit ou un nom de dossier. JSON nous a dit que c’était du texte : ce reste du texte.

Convertisseurs associés