Conversion bidirectionnelle conçue pour k8s, GitHub Actions, Docker Compose, helm. Aperçu en direct, sortie YAML idiomatique, le tout dans votre navigateur.
js-yaml est excellent mais ajoute environ 30 Ko minifiés à chaque chargement de page. Le YAML des fichiers de configuration du monde réel n'utilise qu'une petite portion de la spécification — mappings en bloc, séquences en bloc, style en flux, types scalaires, littéraux multilignes. Nous avons codé à la main exactement ce sous-ensemble (~5 Ko), pour que le chargement à froid reste rapide. Si votre YAML utilise des ancres, alias ou tags personnalisés, collez-le plutôt dans un pipeline CI qui utilise js-yaml.
Trois fonctionnalités rares dans les fichiers de configuration : (1) les ancres et alias (&name / *name) — utilisés pour dédupliquer au sein d'un document; (2) les tags personnalisés (!!str / !!float / !!omap) — utilisés pour outrepasser l'inférence implicite de type; (3) les fichiers multi-documents avec séparateurs ---. Aucune de ces fonctionnalités n'apparaît dans les fichiers standard k8s, GitHub Actions, Docker Compose, helm ou ansible. Si vous en avez besoin, utilisez un parseur YAML complet.
EntréeJSON
1
SortieYAML
1
Conçu pour le YAML DevOps du monde réel
k8s, GitHub Actions, Docker Compose, helm, ansible — et quelques petites touches qui rendent son utilisation vraiment agréable.
Bidirectionnel, en direct
Collez l'un ou l'autre format, obtenez l'autre instantanément. La sortie se met à jour à chaque frappe — pas de bouton Convertir. Inversez la direction d'un clic et le même outil fonctionne dans l'autre sens.
Sous-ensemble YAML 1.2 pour fichiers de configuration
Mappings en bloc + en flux, séquences en bloc + en flux, scalaires (chaîne, nombre, booléen, null), scalaires de bloc multilignes littéraux (|) et pliés (>). Couvre 99% des manifestes k8s, GitHub Actions, Docker Compose, GitLab CI, valeurs helm, playbooks ansible.
Sortie YAML idiomatique
JSON → YAML produit le YAML que vous écririez à la main : clés en style simple (sans guillemets), chaînes mises entre guillemets uniquement quand elles entreraient en collision avec des mots réservés (true/false/null/yes/no) ou des nombres, chaînes multilignes rendues comme scalaires de bloc |, indentation configurable de 2 ou 4 espaces.
Aller-retour sûr
JSON → YAML → JSON donne un document identique octet pour octet. Convertissez dans un sens ou dans l'autre, l'autre sens inverse toujours proprement. Aucun type silencieusement perdu ni valeur coercée.
Confidentialité par conception
Votre configuration ne quitte jamais votre appareil. Parseur + sérialiseur faits main qui s'exécutent en JavaScript localement. Ouvrez DevTools → Network et constatez zéro requête sortante.
Minuscule + rapide
JavaScript pur, sans dépendance js-yaml. Le chargement à froid est inférieur à 25 Ko gzippés. Un manifeste k8s de 100 Ko se convertit en moins de 30 ms sur un ordinateur portable normal.
Comment convertir JSON ↔ YAML
Trois étapes pour passer de la configuration brute au format dont vous avez besoin.
1
Collez votre JSON ou YAML
Déposez votre configuration dans le panneau Entrée. L'outil détecte le format que vous avez collé via la liste déroulante Direction — inversez-la si nécessaire. La conversion se fait en direct à chaque frappe.
2
Ajustez l'indentation et vérifiez
L'indentation par défaut est de 2 espaces (convention k8s / GitHub Actions). Passez à 4 si votre équipe l'utilise. Cliquez sur Inverser pour renvoyer la sortie en entrée — utile pour la vérification d'aller-retour (collez du JSON, convertissez en YAML, inversez, reconvertissez, comparez avec l'original).
3
Copiez ou téléchargez
Appuyez sur l'icône de copie pour envoyer la sortie dans votre presse-papiers, ou sur l'icône de téléchargement pour enregistrer en tant que output.yaml ou output.json. La différence en taille d'octets est affichée en pied de page pour que vous puissiez voir à quel point la représentation YAML est compacte.
Conçu pour les équipes DevOps + backend
Quatre scénarios courants où un outil navigateur axé sur la confidentialité l'emporte sur l'écriture d'un script Python ponctuel.
Aller-retour sur les manifestes Kubernetes
kubectl get deployment my-app -o json → collez ici → YAML → modifiez → appliquez. Ou : collez un manifeste YAML de la doc d'un fournisseur, convertissez en JSON, passez-le par jq pour filtrer, reconvertissez en YAML, committez.
Extraits GitHub Actions / GitLab CI tirés d'articles de blog
Un article de blog montre un extrait CI en JSON dans son thème de doc. Déposez-le, obtenez du YAML, collez dans .github/workflows/ci.yml. Ou : prenez un workflow YAML multi-jobs, convertissez en JSON pour édition programmatique, reconvertissez.
Valeurs Helm + Docker Compose
Les fichiers de valeurs Helm sont en YAML; certains outils de templating veulent du JSON. Collez votre values.yaml, obtenez du JSON, passez-le par votre outil, recollez, reconvertissez en YAML pour committer. Même flux pour le compose.yaml de Docker Compose.
Configurations sensibles qui ne peuvent pas aller vers un service tiers
Configurations contenant des clés d'API, secrets, noms d'hôtes internes, données clients — tout ce que vous ne pouvez pas coller dans un convertisseur cloud. L'outil exclusivement navigateur garde chaque octet sur votre ordinateur. Ouvrez DevTools → Network et vérifiez que rien ne sort.
100% privé — s'exécute dans votre navigateur
Vos configurations ne quittent jamais votre appareil. Ouvrez DevTools → Network et vous verrez zéro requête sortante pendant la conversion.
Parseur YAML fait main, sérialiseur YAML, JSON.parse natif, et la copie / téléchargement s'exécutent tous en JavaScript sur votre machine — pas de CDN js-yaml, pas d'API tierce.
Pas de connexion, pas de télémétrie sur le contenu de configuration. Nous n'utilisons qu'un seul cookie pour l'état du consentement aux cookies et un pour la préférence de langue.
Si vous manipulez des configurations d'infrastructure sensibles (extraits kubeconfig, manifestes de secrets, certificats signés), l'aspect confidentialité compte — collez en toute confiance. Vérifiable dans DevTools.
Guides connexes
Lectures triées sur le volet sur les patterns de configuration YAML, l'outillage JSON et les formats de fichiers DevOps.
Pourquoi développer la prise en charge YAML alors que <code>js-yaml</code> existe ?
js-yaml est excellent mais ajoute environ 30 Ko minifiés à chaque chargement de page. Le YAML des fichiers de configuration du monde réel n'utilise qu'une petite portion de la spécification — mappings en bloc, séquences en bloc, style en flux, types scalaires, littéraux multilignes. Nous avons codé à la main exactement ce sous-ensemble (~5 Ko), pour que le chargement à froid reste rapide. Si votre YAML utilise des ancres, alias ou tags personnalisés, collez-le plutôt dans un pipeline CI qui utilise js-yaml.
Quelles fonctionnalités YAML ne sont PAS prises en charge ?
Trois fonctionnalités rares dans les fichiers de configuration : (1) les ancres et alias (&name / *name) — utilisés pour dédupliquer au sein d'un document; (2) les tags personnalisés (!!str / !!float / !!omap) — utilisés pour outrepasser l'inférence implicite de type; (3) les fichiers multi-documents avec séparateurs ---. Aucune de ces fonctionnalités n'apparaît dans les fichiers standard k8s, GitHub Actions, Docker Compose, helm ou ansible. Si vous en avez besoin, utilisez un parseur YAML complet.
Les commentaires sont-ils préservés ?
Non — les commentaires sont supprimés à l'analyse. YAML prend en charge les commentaires (#...) mais pas JSON. Faire un aller-retour YAML via JSON perd les informations de commentaire par définition. Nous supprimons les commentaires à l'analyse plutôt que d'essayer de les préserver avec des bidouilles. Si vous avez besoin d'une édition YAML qui préserve les commentaires, éditez le YAML directement.
Pourquoi mon nombre est-il converti en chaîne ?
Les règles de typage implicite de YAML sont plus laxistes que celles de JSON : 1.2.3 est une chaîne en YAML (pas un nombre, parce qu'il a deux points), et les chaînes de version comme v1.2 sont des chaînes sauf si elles sont entre guillemets. Nous suivons les règles de typage implicite YAML 1.2 : seuls les chiffres correspondant à ^-?\d+(\.\d+)?([eE][-+]?\d+)?$ deviennent des nombres; tout le reste reste une chaîne. Si vous avez besoin d'un traitement numérique exact, mettez la valeur entre guillemets en YAML ou utilisez JSON directement.
Quelque chose est-il envoyé à votre serveur ?
Non. Le parseur YAML, le sérialiseur, le parseur JSON et la copie dans le presse-papiers s'exécutent tous en JavaScript sur votre appareil. Ouvrez DevTools → Network et vous verrez zéro requête sortante pendant la conversion. Collez des manifestes k8s de production, des configurations CI internes, des valeurs helm chargées de secrets — rien ne quitte votre ordinateur.