Convertissez JSON et YAML localement
Convertissez du JSON strict en YAML ou un sous-ensemble YAML compatible avec JSON en JSON, en conservant l’ordre des membres et l’écriture numérique dans le navigateur.
Espace de travail de l’outil
YAML 1.2.2, sous-ensemble compatible avec JSON
Collez du texte ou choisissez un fichier UTF-8 local. La conversion commence uniquement avec Convertir.
Choisissez le sens et saisissez du texte, ou insérez un exemple.
Aucun Worker local n’est disponible. La conversion ne peut pas fonctionner dans ce navigateur.
Aperçu en lecture seule. Copier et télécharger utilisent la sortie complète actuelle.
Diagnostics et avertissements
Des détails sont omis ou l’inspection n’a pas pu terminer. Les nombres décrivent l’entrée inspectée.
Fonctionnalités admises
Un document ; clés string ; nombres écrits comme JSON. Les commentaires et le format sont omis. Tags, anchors, aliases et clés merge sont hors du sous-ensemble.
Les valeurs plain yes et les dates sont des strings ; true est booléen ; une clé 1 exige des guillemets ; a: est null.
Pour un nombre YAML non admis, utilisez une écriture JSON compatible ou des guillemets pour obtenir une string. Les lexèmes numériques sont conservés ; d’autres consommateurs peuvent arrondir de grands entiers ou des décimales précises, ou transformer un très petit nombre en zéro.
Limites
Entrée : 1 000 000 unités UTF-16 / 4 000 000 octets UTF-8. Sortie : 2 000 000 unités / 8 000 000 octets. Fichier : 4 000 000 octets. Profondeur : 100. Valeurs : 100 000.
Traitement local. Le texte et les fichiers ne sont ni envoyés ni enregistrés.
JSON → YAML : choisissez l’écriture des chaînes de caractères
Choisissez JSON → YAML, collez du JSON strict ou chargez un fichier .json local, puis appuyez sur Convertir. Sélectionnez 2 ou 4 espaces et des chaînes de caractères entre guillemets (par défaut) ou des blocs littéraux multilignes. La conversion ne commence jamais automatiquement et l’original reste dans l’éditeur.
{"code":"00123","active":true,"missing":null,"items":[1,"yes",false,null,{},[]],"message":"Hello\nWorld\n"}
La sortie par défaut met toutes les clés et chaînes de caractères entre guillemets. Le mode littéral utilise un bloc seulement s’il conserve exactement la chaîne de caractères ; sinon il garde les guillemets. Il conserve les conteneurs vides, tableaux hétérogènes, chaînes de caractères et l’ordre des membres. JSONC, JSON5, clés en double, réparation et détection automatique du format sont hors de cet outil.
YAML → JSON : interprétez les données, pas leur présentation
Choisissez YAML → JSON, collez du texte ou chargez un fichier .yaml ou .yml, sélectionnez 2 ou 4 espaces et appuyez sur Convertir. Les extensions ne distinguent pas la casse ; le MIME ne détermine pas l’acceptation. Les fichiers doivent être en UTF-8 strict. Un BOM UTF-8 initial est retiré avec un avertissement ; deux BOM initiaux sont rejetés. Les sauts LF/CRLF/CR originaux restent dans le modèle d’entrée.
# Exemple local ; ce commentaire est omis du JSON
code: "00123"
active: true
missing:
items: [1, "yes", false, null, {}, []]
message: |
Hello
World
missing: est un null implicite. "00123" entre guillemets est une chaîne de caractères ; 00123 plain est rejeté comme nombre hors du profil. yes plain et les dates comme 2026-10-04 sont des chaînes de caractères ; true est booléen. Une clé 1 sans guillemets n’est pas une chaîne de caractères et est rejetée : écrivez "1".
YAML 1.2.2, sous-ensemble compatible avec JSON
Ce n’est pas un éditeur YAML général. Il accepte un document, des objets avec des clés textuelles, des tableaux, des chaînes de caractères, des nombres finis avec la grammaire JSON, booléens, null, collections block/flow et blocs littéraux/repliés. Une directive %YAML 1.2 valide avec marqueur de début du document est admise. Tags explicites, anchors, aliases, clés merge sans guillemets, doublons, clés non chaîne de caractères, plusieurs documents et autres directives sont rejetés. Les erreurs distinguent une syntaxe invalide d’une construction YAML valide hors du sous-ensemble.
Les nombres comme 0x10, +1 ou .inf sont hors du profil numérique. Utilisez une écriture JSON admise si elle convient, ou des guillemets pour obtenir une chaîne de caractères ; le convertisseur ne répare pas le texte. 1_000 reste une chaîne de caractères selon la classification admise, sans coercition numérique. Un overflow non fini est rejeté.
Écriture numérique et aller-retour
Les lexèmes comme -0, 1.0, 1e0, 9007199254740993, 0.1234567890123456789 et 1e-400 conservent leur écriture. Consultez les avertissements de précision : d’autres consommateurs peuvent arrondir un grand entier ou une décimale précise, ou transformer un nombre avec underflow en zéro. Conserver le texte ne garantit pas la précision d’un autre programme.
L’aller-retour conserve valeurs interprétées, chaînes de caractères, ordre des tableaux, noms/ordre littéraux des membres et lexèmes numériques dans le sous-ensemble. Les commentaires YAML sont omis avec un compte exact. Style, commentaires, directives, guillemets et disposition des blocs ne sont pas reconstruits. Les blocs littéraux/repliés donnent d’abord leur valeur chaîne de caractères ; JSON échappe ensuite cette valeur.
Export complet, aperçu et limites locales
Copier et télécharger exportent toute la sortie actuelle même si l’aperçu en lecture seule montre seulement 20 000 unités UTF-16. Après un échec du presse-papiers, une action explicite affiche le texte complet pour une copie manuelle. Les fichiers sont converted.yaml (application/yaml) ou converted.json (application/json), en UTF-8 sans BOM avec LF final.
Les limites sont 1 000 000 unités UTF-16 et 4 000 000 octets UTF-8 d’entrée ; 2 000 000 unités et 8 000 000 octets de sortie ; un fichier de 4 000 000 octets au maximum ; 250 000 unités source ou décodées par scalaire/clé ; 100 conteneurs imbriqués ; 100 000 valeurs ; 300 000 tokens de syntaxe ; 4 000 000 unités de travail propre ; 100 détails de diagnostic retenus ; et 10 000 ms par opération Worker. UTF-16 peut limiter avant le plafond d’octets. Toutes les limites s’appliquent ensemble ; les positions détaillées sont bornées, mais les comptes d’avertissements restent visibles.
Le traitement utilise un Worker local annulable. Texte/fichiers ne sont ni envoyés, ni enregistrés dans le navigateur, ni ajoutés aux URL. Modifier l’entrée, options/mode, exemple, effacer ou choisir un fichier invalide sortie et export. Une limite, erreur, annulation ou timeout ne produit aucune sortie partielle et ne réactive aucun résultat antérieur. Effacer conserve le sens et rétablit les options par défaut. Annuler conserve l’entrée pour réessayer. Sans JavaScript ou Worker local, la conversion est indisponible.