Ce este acest instrument?
YAML este formatul preferat pentru majoritatea fișierelor de configurare moderne — manifeste Kubernetes, Docker Compose, pipeline-uri GitHub Actions și GitLab CI, playbook-uri Ansible — pentru că este mai lizibil decât JSON atunci când editezi manual fișiere: nu ai nevoie de ghilimele pentru majoritatea cheilor, nu riști virgule în plus la final, iar comentariile sunt permise. JSON, în schimb, este formatul pe care majoritatea API-urilor și limbajelor de programare îl produc și îl consumă în mod nativ.
Acest instrument face legătura între cele două folosind js-yaml, o implementare JavaScript foarte utilizată a specificației YAML, astfel încât analiza și generarea urmează aceleași reguli pe care le-ar aplica un instrument compatibil YAML precum `kubectl` sau un runner CI.
Conversia din JSON în YAML transformă obiectele în blocuri indentate de tip cheie: valoare, iar array-urile în elemente de listă prefixate cu „-”. Conversia din YAML în JSON face invers și rezolvă totodată prescurtările specifice YAML (precum `true`, `null` sau numere nescrise între ghilimele) în tipurile JSON corespunzătoare.
De ce să-l folosești?
- Bidirecțional — convertești JSON în YAML sau YAML în JSON din același ecran.
- Analiză și generare bazate pe standarde, prin js-yaml, astfel încât rezultatul corespunde exact cu ce așteaptă instrumentele YAML reale (Kubernetes, sisteme CI, Ansible).
- Gestionează obiecte și array-uri imbricate la orice adâncime, convertind între structura bazată pe indentare a YAML și acoladele/parantezele pătrate din JSON.
- Interpretează corect prescurtările de tip din YAML — valorile true/false, null și numerice nescrise devin tipurile JSON corespunzătoare, nu șiruri de text.
- Copiază în clipboard sau descarcă rezultatul ca fișier .json sau .yaml.
- 100% local — nimic din ce lipești nu este încărcat nicăieri.
Cum se folosește
- Alege o direcție: „JSON → YAML” sau „YAML → JSON”.
- Lipește datele tale în câmpul de intrare.
- Apasă „Convertește”.
- Verifică rezultatul, apoi copiază-l sau apasă „Descarcă” pentru a salva un fișier.
Exemplu
Intrare
{"name":"Alice","roles":["admin","editor"],"active":true}Rezultat
name: Alice
roles:
- admin
- editor
active: true
Observă cum array-ul devine o listă de elemente cu liniuță sub „roles”, iar valoarea booleană rămâne true nescris între ghilimele, nu devine șirul de text „true”.
Sfaturi practice
- Când scrii un manifest Kubernetes sau un workflow GitHub Actions: schițează structura ca JSON (multe editoare și instrumente AI generează JSON mai fiabil), apoi convertește în YAML pentru fișierul final.
- Când depanezi o configurare YAML care nu funcționează corect: convertește-o în JSON ca să vezi exact ce valori sunt text, numere sau booleene — sintaxa flexibilă a YAML poate ascunde neconcordanțe de tip evidente în JSON.
- Dacă JSON-ul tău conține chei cu caractere speciale sau care încep cu o cifră, js-yaml le va pune automat între ghilimele în rezultatul YAML, astfel încât să fie interpretate corect la re-citire.
De ce conversia de tip este cea mai delicată parte a YAML
Cel mai mare avantaj al YAML față de JSON — faptul că nu necesită ghilimele pentru majoritatea valorilor — este și cea mai mare sursă de erori subtile. Exemplul clasic este „problema Norvegiei”: în YAML 1.1 (folosit de multe analizoare mai vechi), o valoare nescrisă între ghilimele `no` este interpretată ca boolean `false`, nu ca text „no”, ceea ce a stricat configurări reale cu coduri de țară care includeau Norvegia. Acest instrument respectă specificația YAML 1.2, care a redus setul de valori nescrise între ghilimele interpretate ca booleene doar la `true` și `false` (și variantele lor de scriere), reducând — deși nu eliminând complet — acest tip de surpriză. Când ai dubii despre cum va fi interpretată o valoare, cea mai sigură soluție este să o scrii explicit între ghilimele în YAML.
Întrebări frecvente
Comentariile YAML sunt păstrate la conversia în JSON și înapoi?
Nu. JSON nu are conceptul de comentarii, așa că la conversia din YAML în JSON orice comentariu # din sursă este eliminat. Dacă apoi convertești acel JSON înapoi în YAML, comentariile nu vor reapărea — aceasta este o limitare inerentă a formatului, nu o eroare a instrumentului.
Cum gestionează instrumentul ancorele și aliasurile YAML (& și *)?
Analizorul de bază (js-yaml) rezolvă ancorele și aliasurile înainte de a produce JSON, așa că un fișier YAML care folosește ancore & și aliasuri * pentru a reutiliza un bloc de date va fi convertit în JSON cu acele date extinse integral în fiecare loc în care sunt referențiate.
De ce numărul meu din YAML a apărut ca text în JSON, sau invers?
Dacă o valoare este scrisă între ghilimele în sursa YAML (de exemplu version: "3.10"), este tratată intenționat ca text — asta contează pentru că numerele YAML nescrise între ghilimele, precum 3.10, pot pierde zeroul final atunci când sunt interpretate ca număr real. Pune o valoare între ghilimele în sursa YAML dacă ai nevoie explicit ca aceasta să fie tratată ca text.
Pot converti un fișier YAML cu mai multe documente (separate prin ---)?
Acest instrument convertește un singur document YAML odată. Dacă fișierul tău are mai multe documente separate prin marcaje ---, convertește câte o secțiune pe rând, sau elimină separatoarele și îmbină-le într-un singur document, dacă asta se potrivește nevoii tale.
Datele mele sunt încărcate undeva?
Nu. Conversia rulează complet în browserul tău, prin biblioteca js-yaml — nimic nu este trimis către un server, ceea ce face sigură utilizarea cu fișiere de configurare reale, inclusiv cele cu nume de gazdă interne sau detalii de infrastructură.