Wat is deze tool?
YAML is het voorkeursformaat voor de meeste moderne configuratiebestanden — Kubernetes-manifests, Docker Compose, GitHub Actions- en GitLab CI-pipelines, Ansible-playbooks — omdat het voor mensen die bestanden met de hand bewerken leesbaarder is dan JSON: geen quotes nodig rond de meeste keys, geen komma's aan het einde die fout kunnen gaan, en commentaar wordt ondersteund. JSON is intussen wat de meeste API's en programmeertalen native produceren en verwerken.
Deze tool overbrugt de twee met js-yaml, een veelgebruikte JavaScript-implementatie van de YAML-specificatie, zodat parsen en genereren dezelfde regels volgen als een YAML-bewuste tool zoals `kubectl` of een CI-runner zou toepassen.
JSON converteren naar YAML zet objecten om in ingesprongen key: value-blokken en arrays in lijst-items met een `-` ervoor. YAML converteren naar JSON doet het omgekeerde, en zet ook YAML-specifieke typesnelkoppelingen (zoals ongequote `true`, `null`, of getallen) om naar hun juiste JSON-types.
Waarom gebruiken?
- Tweerichtingsverkeer — converteer JSON naar YAML of YAML naar JSON vanaf hetzelfde scherm.
- Standaardgebaseerd parsen en genereren via js-yaml, zodat de uitvoer overeenkomt met wat echte YAML-tooling (Kubernetes, CI-systemen, Ansible) verwacht.
- Verwerkt geneste objecten en arrays op elke diepte, en converteert tussen YAML's op inspringing gebaseerde structuur en JSON's accolades en haakjes.
- Interpreteert YAML-typesnelkoppelingen correct — ongequote true/false, null en numerieke waarden worden hun juiste JSON-types in plaats van strings.
- Kopieer naar klembord of download als .json- of .yaml-bestand.
- 100% client-side — niets wat je plakt wordt ergens geüpload.
Hoe te gebruiken
- Kies een richting: "JSON → YAML" of "YAML → JSON".
- Plak je data in het invoervak.
- Klik op "Convert".
- Bekijk het resultaat en kopieer het of klik op "Download" om een bestand op te slaan.
Voorbeeld
Invoer
{"name":"Alice","roles":["admin","editor"],"active":true}Uitvoer
name: Alice
roles:
- admin
- editor
active: true
Let op hoe de array een lijst met streepjes wordt onder "roles", en de boolean ongequote true blijft in plaats van de string "true" te worden.
Praktische tips
- Een Kubernetes-manifest of GitHub Actions-workflow schrijven: schets de structuur eerst als JSON (veel editors en AI-tools genereren JSON betrouwbaarder), converteer daarna naar YAML voor het uiteindelijke bestand.
- Een YAML-configuratie debuggen die zich vreemd gedraagt: converteer naar JSON om precies te zien welke waarden strings, getallen of booleans zijn — YAML's flexibele syntax kan typeverschillen verbergen die in JSON meteen opvallen.
- Als je JSON keys bevat met speciale tekens of die met een cijfer beginnen, zet js-yaml die automatisch tussen quotes in de YAML-uitvoer, zodat ze correct terug worden geparsed.
Waarom typecoërcie het lastigste onderdeel van YAML is
YAML's grootste gebruiksvoordeel ten opzichte van JSON — geen quotes nodig rond de meeste waarden — is ook de grootste bron van subtiele bugs. Het klassieke voorbeeld is het "Noorwegen-probleem": in YAML 1.1 (gebruikt door veel oudere parsers) wordt een ongequote waarde `no` geïnterpreteerd als de boolean `false`, niet als de string "no", wat in de praktijk landcodeconfiguraties met Noorwegen erin heeft gebroken. Deze tool volgt de YAML 1.2-specificatie, die de set ongequote waarden die als boolean worden gezien heeft versmald tot alleen `true` en `false` (en hun varianten), wat deze categorie verrassingen vermindert — al niet volledig wegneemt. Bij twijfel over hoe een waarde getypeerd wordt, is die expliciet tussen quotes zetten in je YAML de veiligste keuze.
Veelgestelde vragen
Blijven YAML-commentaren bewaard bij conversie naar JSON en terug?
Nee. JSON kent geen commentaar, dus bij conversie van YAML naar JSON gaan eventuele #-commentaren in de bron verloren. Als je die JSON terug converteert naar YAML, komen de commentaren niet terug — dit is een inherente beperking van het formaat, geen bug in de tool.
Hoe gaat de tool om met YAML-anchors en -aliassen (& en *)?
De onderliggende parser (js-yaml) lost anchors en aliassen op voordat JSON wordt geproduceerd, dus een YAML-bestand dat &-anchors en *-aliassen gebruikt om een blok data te hergebruiken, wordt geconverteerd naar JSON met die data volledig uitgeschreven op elke plek waar ernaar verwezen wordt.
Waarom kwam mijn YAML-getal als string door in JSON, of andersom?
Als een waarde in de YAML-bron tussen quotes staat (bijv. version: "3.10"), wordt die bewust als string behandeld — dit is belangrijk omdat ongequote YAML-getallen zoals 3.10 het nulletje aan het einde kunnen verliezen als ze als float geparsed worden. Zet een waarde in de bron-YAML tussen quotes als je specifiek wilt dat die als tekst wordt behandeld.
Kan ik een YAML-bestand met meerdere documenten (gescheiden door ---) converteren?
Deze tool converteert steeds één YAML-document tegelijk. Als je bestand meerdere documenten heeft, gescheiden door ---markeringen, converteer dan één sectie per keer, of verwijder de scheidingstekens en voeg ze eerst samen tot één document als dat bij je use case past.
Wordt mijn data ergens geüpload?
Nee. De conversie draait volledig in je browser via de js-yaml-bibliotheek — er wordt niets naar een server gestuurd, waardoor het veilig is om te gebruiken met echte configuratiebestanden, ook met interne hostnames of infrastructuurdetails.