Strumenti

Formattatore e Validatore YAML Online Gratuito

Formatta, valida e abbellisci YAML nel browser e converti tra YAML e JSON. Funziona con configurazioni Docker Compose, Kubernetes e GitHub Actions. Niente viene mai inviato a un server.

Tutta l'analisi e la conversione avvengono localmente nel tuo browser. Il tuo YAML e JSON non vengono mai caricati, memorizzati o registrati.

Cos'è YAML?

YAML (YAML Ain't Markup Language) è un formato di serializzazione dati leggibile dall'uomo, progettato per essere facile da scrivere e leggere. La sua sintassi pulita, basata sull'indentazione, ha sostituito XML in molti file di configurazione moderni, alimentando strumenti come Docker Compose, Kubernetes, GitHub Actions, Ansible e Helm. YAML è anche un superset di JSON, quindi ogni documento JSON valido è anche YAML valido: questo rende la conversione tra i due formati semplice e senza perdite per la maggior parte dei dati di configurazione quotidiani.

Guida alla Sintassi YAML

key: value Scalari — una semplice coppia chiave/valore. Le stringhe multilinea usano | (letterale, mantiene gli a capo) o > (piegato, unisce le righe).
- item Liste — ogni elemento su una riga, preceduto da un trattino e uno spazio.
parent: child: x Dizionari annidati — esprimono la gerarchia unicamente tramite l'indentazione.
# comment Commenti — tutto ciò che segue un # viene ignorato dal parser.
null / true / false Valori speciali — null, true e false sono riconosciuti come valori tipizzati, non come stringhe.
&anchor / *alias Anchor e alias — definisci un nodo una volta con &anchor e riutilizzalo con *alias.
Importante: YAML non ammette i tab per l'indentazione, solo spazi. Un singolo tab rende l'intero documento non valido.

YAML vs JSON: Quando Usare l'Uno o l'Altro

YAML

Usa YAML per i file di configurazione scritti e modificati a mano. Supporta i commenti, è più leggibile ed è lo standard per Docker Compose, Kubernetes, GitHub Actions, Ansible e Helm.

JSON

Usa JSON per le API e i dati in transito. Il parsing è più veloce, non ha ambiguità di tipo ed è il formato dietro le API REST, package.json e tsconfig.json.

Errori YAML Comuni e Come Risolverli

  1. Uso di tab invece di spazi per l'indentazione — sostituisci ogni tab con spazi, poiché YAML vieta i tab.
  2. Indentazione incoerente — mantieni lo stesso numero di spazi a ogni livello di annidamento in tutto il documento.
  3. Una stringa che contiene i due punti non racchiusa tra virgolette — racchiudi valori come "12:30" o "http://example.com" tra virgolette.
  4. Booleani ambigui — valori come yes, no, on e off vengono interpretati come true/false; racchiudili tra virgolette se intendi le parole letterali.
  5. Caratteri speciali in un valore senza virgolette — caratteri come @, # e { richiedono il valore racchiuso tra virgolette.

Domande Frequenti

No. YAML vieta rigorosamente i caratteri di tabulazione per l'indentazione: devi usare gli spazi. Questa è una delle cause più comuni degli errori "YAML non valido". Se il tuo editor inserisce tab, configuralo per convertire i tab in spazi (di solito 2 per livello). Il formattatore di questa pagina produce sempre spazi, quindi passare il file attraverso di esso corregge automaticamente i tab accidentali.

Entrambi introducono stringhe multilinea ma gestiscono gli a capo in modo diverso. Lo scalare a blocco letterale | conserva gli a capo esattamente come scritti, quindi ogni riga resta sulla propria riga: ideale per script o testo formattato. Lo scalare a blocco piegato > unisce le righe con spazi, riducendo il blocco a una singola riga e trattando le righe vuote come interruzioni di paragrafo: utile per testi lunghi che vuoi andare a capo nel sorgente ma memorizzare su una riga.

Sì. A partire da YAML 1.2, ogni documento JSON valido è anche un documento YAML valido, perché la sintassi flow di YAML usa le stesse parentesi graffe, quadre e regole di quoting di JSON. Questo significa che puoi incollare JSON direttamente in un parser YAML e funzionerà, e rende affidabile la conversione tra i due formati: esattamente ciò che fanno le schede YAML-in-JSON e JSON-in-YAML di questa pagina.

I parser YAML interpretano una serie di parole — yes, no, on, off, true, false — come valori booleani. Quindi lo scalare non quotato yes viene letto come il booleano true e serializzato così in JSON. Se ti serve la stringa letterale "yes" (ad esempio un codice paese o un campo risposta), racchiudila tra virgolette: answer: "yes". Le virgolette costringono il parser a mantenerlo come testo invece di convertirlo in booleano.