Convertire TOML in YAML

Qui converti TOML in YAML gratis e senza account: trascina il file qui sopra e in un paio di secondi il risultato è pronto da scaricare. La conversione avviene dentro il tuo browser, quindi il file non viene mai caricato. Funziona allo stesso modo su Windows, macOS e Linux e anche su iPhone e Android, e continua a funzionare anche se stacchi la connessione.

  • Dove gira Nel tuo browser. Il file non viene mai caricato.
  • Senza perdita Non si butta via niente. YAML conserva esattamente ciò che TOML teneva.
  • Limite di dimensione Fino a 100 MB per file, gratis e senza account.

Fino a 100 file alla volta. Formati diversi insieme non sono un problema.

Estrarre valori da un manifest verso una pipeline che legge YAML

I fatti su un progetto vivono sempre più in un file TOML — il nome del pacchetto, le versioni Python o Rust supportate, i flag di funzionalità, l’insieme di dipendenze. Ciò che consuma quei fatti è, con la stessa coerenza, YAML: un workflow GitHub Actions, un file valori Helm, un insieme di variabili Ansible.

Quindi il lavoro di solito non è una migrazione ma una trascrizione: portare i valori in sintassi YAML accuratamente, poi spostare le parti che servono in un file con una propria forma. L’output non deve essere un workflow valido. Deve essere un rendering fedele da cui prelevare senza riscrivere un numero di versione.

Le date TOML arrivano senza virgolette, e il loader decide cosa sono

TOML è insolito tra i formati di configurazione nell’avere veri tipi data e datetime, scritti senza virgolette: launch = 2026-03-01T08:00:00Z. Arrivano nel YAML allo stesso modo — senza virgolette attorno — ciò che YAML riserva per un timestamp. Convertite lo stesso manifest in JSON e ottenete gli stessi caratteri dentro una coppia di virgolette.

Cosa vi compra dipende interamente dal loader. Rileggete l’output con la stessa libreria che lo ha scritto, che segue lo schema core YAML 1.2, e ognuno di quei valori torna una stringa: 1.2 non ha risolutore di timestamp. Leggetelo con PyYAML o Psych di Ruby, ancora su YAML 1.1, e i primi due diventano datetime mentre at: 08:00:00.000 si risolve come il numero sessagesimale 28800.

Perché YAML piuttosto che XML per un manifest pieno di date

Entrambi i target scrivono gli stessi caratteri per una data, quindi l’argomento riguarda dove vive il tipo. Nel YAML il valore non ha virgolette ed è abbastanza autodescrittivo che un loader 1.1 lo tipizzerà senza essere istruito. In XML la stessa data è testo di elemento, e cosa significa viene da uno schema che qualcun altro mantiene.

Questo taglia in entrambe le direzioni. Uno schema è un meccanismo di applicazione, e se il sistema ricevente ne ha uno, una data tipizzata male viene catturata alla porta invece che tre passi dentro una pipeline. Scegliete YAML quando la destinazione è un workflow che rileggerà il valore con il proprio loader e voi controllate quale loader sia; scegliete XML quando qualcosa a valle validerà il documento.

Come vengono disposte le tabelle TOML una volta in YAML

Un’intestazione [package] diventa una chiave di primo livello con i suoi valori indentati di due spazi sotto. Un’intestazione [tool.black] diventa tool: contenente black: contenente le impostazioni, perché un’intestazione di tabella puntata è annidamento piuttosto che un nome con punti.

L’ordine è l’ordine visto dal parser, il che per TOML significa che i valori sciolti in cima al file vengono prima e ogni tabella segue nell’ordine in cui è stata scritta. Ciò che si sposta è qualunque cosa espressa con chiavi puntate sparse nel file — quelle vengono raccolte sotto un unico genitore nel YAML.

TOML dichiara i suoi tipi e YAML li risolve

Questo è il vero cambio di regime ed è facile da perdere perché l’output sembra così simile. In TOML, enabled = true è un booleano perché la sintassi lo dice, e version = "1.0" è una stringa perché tra virgolette. In YAML, uno scalare senza virgolette è ciò che il parser decide che sia.

Lo scrittore quota dove conta: una stringa di cifre esce quotata, quindi version = "1.0" resta version: "1.0" e non il numero 1. Ciò che non quota è NO, yes, on e off, perché sotto YAML 1.2 sono stringhe ordinarie. Caricatelo con PyYAML o Psych, ancora YAML 1.1, e diventano booleani.

Gli array di tabelle diventano liste YAML di mappature

Un blocco [[bin]] ripetuto è la forma lista-di-record di TOML, e si converte nella forma che tutti scrivono a mano in YAML: un trattino per voce, chiavi indentate sotto. Gli array semplici si comportano allo stesso modo, una riga con trattino per elemento.

Quella forma a blocco è ciò che la maggior parte degli strumenti YAML documenta, quindi le voci di solito si incollano in un workflow senza riformattazione. Se la destinazione vuole davvero stile flow, è una modifica manuale, e piccola.

Le stringhe multilinea TOML arrivano come scalari a blocco YAML

Una stringa TOML tra triple virgolette che contiene uno script mantiene la sua struttura a righe. Lo scrittore la emette come scalare a blocco — la chiave, poi una pipe, poi le righe vere indentate sotto — piuttosto che come una riga con sequenze di escape.

I valori lunghi su una sola riga sono gestiti diversamente: una stringa senza a capo ma con molta lunghezza viene piegata su righe di continuazione attorno a ottanta colonne, e YAML rilegge quelle piegature come spazi, quindi il valore è invariato.

Entrambi i formati tengono i commenti e questa conversione non ne tiene nessuno

TOML e YAML supportano entrambi commenti con #, e un manifest ne è di solito pieno: perché una dipendenza è fissata a una release patch, quale di due impostazioni è deliberata. Nulla sopravvive, perché il lettore scarta i commenti in entrata e lo scrittore non ne ha da posizionare in uscita.

Per un frammento che state per incollare è irrilevante. Per qualunque cosa intendiate conservare, è la ragione per cui il TOML resta la fonte di verità e il YAML viene generato: due file con gli stessi valori e solo uno con il ragionamento è un problema di manutenzione in attesa di essere scoperto.

Funzionalità YAML che un TOML convertito non userà mai

L’output usa un sottoinsieme semplice del linguaggio. Non ci sono ancore né alias — una sotto-tabella ripetuta appare due volte per intero piuttosto che una volta con un riferimento, perché i valori analizzati sono oggetti separati. Non c’è null da nessuna parte, perché TOML non ha null da convertire.

Se la destinazione si aspetta una di queste cose, le state aggiungendo a mano. Un insieme di variabili Ansible che si basa su tag vault, o un file valori Helm costruito attorno ad ancore, è un file in cui questa conversione confluisce piuttosto che uno che produce.

Rileggere il YAML prima di affidarvici

Il controllo più economico è un giro completo. Caricate l’output con qualunque cosa lo caricherà infine e confrontate una manciata di valori con il manifest — la versione, una data, qualunque cosa sembrasse un numero e dovrebbe essere una stringa.

yq eval . out.yaml riformatta e segnala un errore di sintassi se presente. Farlo una volta è più veloce che debuggare una pipeline che ha girato con version: 1 dove intendevate "1.0".

Dove viene convertito il file TOML

In questa scheda del browser, con JavaScript ordinario. Nulla viene caricato, non c’è motore da scaricare prima, non c’è account né limite giornaliero. Aprire il pannello di rete e convertire qualcosa è come confermarlo.

I manifest sono abbastanza piccoli che il tetto gratuito di 100 MB è teorico, ma non sono sempre pubblici. La lista dipendenze di un repository privato nomina pacchetti e registri interni, e un blocco [tool] a volte porta hostname o percorsi che dicono più su un’organizzazione di quanto chiunque intenda.

Come convertire TOML in YAML

  1. Trascina il tuo file TOML su questa pagina, oppure fai clic per sceglierne uno.
  2. Scegli YAML come destinazione. La conversione avviene nel tuo browser e il file non viene caricato.
  3. Scarica il file YAML finito.

TOML o YAML: cosa cambia

TOML a confronto con YAML
TOMLYAML
Nome completoTom's Obvious Minimal LanguageYAML Ain't Markup Language
Estensione del file.toml.yaml, .yml
Tipo di mediaapplication/tomlapplication/yaml
Prima pubblicazione20132001
SpecificaTOML 1.0YAML 1.2
LicenzaStandard apertoStandard aperto
Situazione attualeAttualeAttuale
Si apre nel browserNessun browserNessun browser
Valutato al suo postoJSON, INIJSON

Che cosa resta

Non si scarta nulla. TOML e YAML salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.

I commenti passano. TOML e YAML hanno entrambi una sintassi per i commenti, quindi le note lasciate a chi verrà dopo non vengono buttate in silenzio.

Aprire il risultato

Visual Studio Code legge sia TOML sia YAML, quindi puoi confrontare il risultato con l'originale senza un secondo programma.

A che cosa serve ciascun formato

TOML è stato pubblicato nel 2013. È descritto in TOML 1.0, e vale la pena conoscerlo se il file deve sopravvivere allo strumento che lo ha scritto.

YAML risale al 2001, descritto in YAML 1.2. Visual Studio Code e yq lo leggono.

Da TOML a YAML: domande frequenti

Il mio file TOML viene caricato da qualche parte?

No. Questa conversione avviene interamente nel tuo browser, quindi il file non esce dal tuo dispositivo. Puoi controllarlo da solo: apri la scheda di rete degli strumenti per sviluppatori e converti qualcosa. Vedrai la pagina stessa e le richieste di statistica e di pubblicità con cui questo servizio si paga, e nemmeno una che porti il tuo file.

Convertire TOML in YAML è gratis?

Sì. Senza account, senza filigrana e senza una quota giornaliera da consumare: gira sulla tua macchina, quindi puoi tornare quante volte vuoi. Il browser lavora file fino a 100 MB, 100 per volta.

Si perde qualità convertendo TOML in YAML?

No. YAML conserva lo stesso contenuto senza buttare via niente: il risultato è identico in qualità all’originale.

La conversione da TOML a YAML è senza perdita?

Non si scarta nulla. TOML e YAML salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.

Altro su questi formati